book-cliiii
Version:
Command line interface for front end project
50 lines (47 loc) • 1.4 kB
JavaScript
#!/usr/bin/env node
/* eslint-disable global-require */
// const fs = require("fs-extra");
// const path = require("path");
const inquirer = require('inquirer');
// const validateProjectName = require("validate-npm-package-name"); // 校验有效 npm包名
// const program = require("commander");
inquirer
.prompt([
{
type: 'list',
message: 'choose your init template',
default: 'Vue',
// TODO 改用 npm 根据我们要求的命名规则筛选出来的 / 每个模板注册在我们的数据库里存储 接口获取
choices: ['Vue', 'Vue-component', 'React', 'miniProgram'],
name: 'tplName',
// filter: (val) => {
// return val.toLowerCase();
// }
},
// {
// type: 'confirm',
// message: '是否使用监听?',
// name: 'watch',
// prefix: '前缀',
// },
// {
// type: 'confirm',
// message: '是否进行文件过滤?',
// name: 'filter',
// suffix: '后缀',
// when(answers) {
// // 当watch为true的时候才会提问当前问题
// return answers.watch;
// },
// },
{
type: 'input',
message: '项目名',
name: 'projectName',
},
])
.then((answer) => {
// require('./init').default.default(answer.tplName);
require('./init')('cli-project-vue', answer.projectName);
})
.catch();