sy-w5vue
Version:
uniapp模板快速生成
44 lines • 2.44 kB
JavaScript
#!/usr/bin/env node
const path = require('path')
const inquirer = require('inquirer');
let resolve =params=> path.resolve(params);
var fs = require('fs')
var handlebars = require('handlebars');
var jsons = {}; //全局变量
const parallel = async () => {
// 基础信息
jsons = await run([
{ type: 'input', name: 'FileName', message: '输入文件名称:', default: "FileName" },
{ type: 'input', name: 'Module', message: '输入模块名称:', default: "OutOrder" },
{ type: 'input', name: 'Name', message: '输入接口名称:', default: "QueryPager" },
{ type: 'confirm', name: 'IsDate', message: '是否需要开始日期结束日期?', default: true },
{ type: 'confirm', name: 'IsDC', message: '是否需要配送中心?', default: true },
{ type: 'confirm', name: 'IsParner', message: '是否需要合作方?', default: true },
{ type: 'confirm', name: 'IsPark', message: '是否需要园区?', default: true },
{ type: 'confirm', name: 'IsDept', message: '是否需要组织?', default: true },
]);
// 下拉框查询条件
jsons.SelectData =[];
for (let i=1;;i++) {
let{label} = await run([{ type: 'input', name: 'label', message: `下拉${i}-名称`, default: "" }, ]); if(!label)break;
let{value} = await run([{ type: 'input', name: 'value', message: `下拉${i}-字段`, default: "" }, ]); if(!value)break;
jsons.SelectData.push({label,value});
}
// 输入框查询查询
jsons.InputData =[];
for (let i=1;;i++) {
let{label} = await run([{ type: 'input', name: 'label', message: `输入${i}-名称`, default: "" }, ]); if(!label)break;
let{value} = await run([{ type: 'input', name: 'value', message: `输入${i}-字段`, default: "" }, ]); if(!value)break;
jsons.InputData.push({label,value});
}
// 导出模块
let {ExportMethod} = await run([{ type: 'input', name: 'ExportMethod', message: `输入导出方法?不输出则不导出`, default: "" }]);
jsons.ExportMethod = ExportMethod;
var content = fs.readFileSync(`${__dirname}/scripts/tpl.hbs`).toString();
var result = handlebars.compile(content)(jsons);
fs.writeFileSync(`${resolve('.')}/${jsons.FileName}.vue`, result);
}
async function run(arr) {
return new Promise(resolve => { inquirer.prompt(arr).then(e => { resolve(e) })})
}
parallel(); // 同步运行