开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
1 Star 1 Fork 0

SyncGithub/fe-code

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
main
分支 (1)
标签 (2)
main
1.0.1
1.0.0
main
分支 (1)
标签 (2)
main
1.0.1
1.0.0
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
main
分支 (1)
标签 (2)
main
1.0.1
1.0.0
fe-code
/
scripts
/
react2code.js
fe-code
/
scripts
/
react2code.js
react2code.js 3.25 KB
一键复制 编辑 原始数据 按行查看 历史
howieyi 提交于 2021年08月09日 20:30 +08:00 . fix: remove unused question of r2c
const ora = require('ora');
const { join } = require('path');
const { prompt } = require('inquirer');
const { exec } = require('shelljs');
const { existsSync, mkdirSync } = require('fs-extra');
const {
generateReactCode,
initReactBase,
generateReactMock,
} = require('../lib/utils/react2Code');
const confirmQuestions = [
{ key: 'isNeedQuery', text: '查询' },
{ key: 'isNeedAdd', text: '添加' },
{ key: 'isNeedEdit', text: '编辑' },
{ key: 'isNeedDelete', text: '删除' },
{ key: 'isNeedDefine', text: '单条自定义' },
{ key: 'isNeedBatchDelete', text: '批量删除' },
{ key: 'isNeedBatchDefine', text: '批量自定义' },
];
// 交互问题采集
const questions = [
{
type: 'confirm',
name: 'isTypescript',
message: '是否使用 Typescript:',
default: 'Y',
},
{
type: 'input',
name: 'model',
message: '新模块名称(英文):',
default: 'model-a',
},
{
type: 'input',
name: 'file',
message: '新模块文件名称(英文):',
default: 'index',
},
{
type: 'confirm',
name: 'isReset',
message: '是否需要初始化/重置基础组件:',
default: 'N',
},
{
type: 'input',
name: 'title',
message: '业务标题:',
default: '标题',
},
// {
// type: 'list',
// name: 'containerType',
// message: '交互方式:',
// choices: ['Modal', 'Panel'],
// default: 'Modal',
// },
];
confirmQuestions.forEach(it =>
questions.push({
type: 'confirm',
name: it.key,
message: `是否需要${it.text}功能:`,
default: 'Y',
}),
);
const react2code = program => {
program
.command('react2code')
.alias('r2c')
.usage('-o <output>')
.description('🍉 generate react code of crud')
.option('-o, --output <output>', 'path of generation file')
.action(({ output }) => {
// write path
const toPath = join(process.cwd(), output || '');
!existsSync(toPath) && mkdirSync(toPath);
prompt(questions).then(answers => {
const { isReset, isTypescript } = answers;
const reactLibPath = join(__dirname, '../lib/react');
// template path of jsx/tsx
const templatePath = join(reactLibPath, `${isTypescript ? '' : 'jsx'}`);
Object.assign(answers, { isTs: isTypescript });
const spinner = ora(
`🍉 generate react code of ${answers.model} ...... \n`,
);
spinner.start();
try {
// init/reset base components
isReset && initReactBase(templatePath, toPath);
// generate react crud code
generateReactCode(templatePath, toPath, answers);
// generate mock json
generateReactMock(reactLibPath, toPath);
setTimeout(() => {
spinner.text = 'format code... \n';
// format code with prettier
exec(
`npx prettier -u --write '${toPath}/(components|${answers.model})/*.{tsx,jsx,js,ts}'`,
() => {
spinner.text = 'generate success...';
setTimeout(() => {
spinner.stop();
}, 400);
},
);
}, 500);
} catch (error) {
spinner.stop();
}
});
});
};
module.exports = react2code;
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

很多前端同学,每日不仅要忙于内卷,还要忙于奔波在重复的业务逻辑期间,所以我们索性开发了这样一款工具,帮助大家可以直接根据接口生成 CURD 的全部代码,让大家生活多些快乐
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/sync-github/fe-code.git
git@gitee.com:sync-github/fe-code.git
sync-github
fe-code
fe-code
main
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /