加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
myz 3.52 KB
一键复制 编辑 原始数据 按行查看 历史
马远征 提交于 2021-03-05 18:14 . ADD: myz-cli
#!/usr/bin/env node
const program = require('commander');
const package = require('./package');
const commandPath = './command/';
const binName = package['config']['bin-name'];
program.version(package.version).usage('<command> [options]')
program
.command('list')
.description('从gitlab拉取模板')
.alias('l')
.option('-c, --cookie', '用cookie获取')
.option('-t, --token', '用token获取')
.action((cmd) => {
require(`${commandPath}${cmd._name}`)(cmd)
})
program
.command('init')
.description('生成一个新项目')
.alias('i')
.action((cmd) => {
require(`${commandPath}${cmd._name}`)(cmd)
})
program
.command('eslint [src]')
.description('用eslint执行代码')
.alias('e')
.option('-f, --fix', 'auto fix code')
.action((src,cmd) => {
//要需要支持其它eslint参数请先添加到option
//console.log(cmd.args);
// cmd.args 是多余参数
require(`${commandPath}${cmd._name}`)(cmd,src)
})
program
.command('server')
.description('在当前目录下启用一个server')
.alias('s')
.option('-p, --port <端口号>', 'port code')
.action((cmd) => {
require(`${commandPath}${cmd._name}`)(cmd)
})
program
.command('mock')
.description('在当前目录下启用一个mock-server')
.alias('m')
.option('-p, --port <端口号>', 'port code')
.action((cmd) => {
require(`${commandPath}${cmd._name}`)(cmd)
})
program
.command('proxy')
.description('启用proxy')
.alias('p')
.option('-p, --port <端口号>', '要劫持的接口')
.option('-t, --target <指向地址>', '要转到的目录')
.action((cmd) => {
require(`${commandPath}${cmd._name}`)(cmd)
})
program
.command('img')
.description('img图片压缩')
.option('-p, --path <路径>', '默认为当前路径')
.option('-o, --outpath <输出路径>', '默认为当前路径')
.option('-q, --quality <质量>', '压缩质量 10-90')
.option('-w, --webp [质量]', '生成webp质量 10-100')
.action((cmd) => {
require(`${commandPath}${cmd._name}`)(cmd)
})
program
.command('upyun')
.description('又拍云图片压缩、上传')
.option('-p, --path <路径>', '读取文件夹、默认为当前路径')
.option('-q, --quality <质量>', '压缩质量 10-90')
.option('-w, --webp', '转成webp')
.option('-u, --uploadfile <文件夹名字>', '上传到云端文件夹')
.action((cmd) => {
require(`${commandPath}${cmd._name}`)(cmd)
})
program
.command('config')
.description('当前项目的config')
.option('-l, --list', '列出配置')
.option('-u, --update', '更新配置')
.option('-k, --key <>', '更新key,配合update使用')
.option('-v, --value <>', '更新value,配合update使用')
.action((cmd) => {
require(`${commandPath}${cmd._name}`)(cmd)
})
program
.command('uglify <dir>')
.description('uglify压缩混淆js文件')
.alias('u')
.option('-o, --output []', '输出文件','false')
.option('-c, --compress', '启用压缩')
.option('-m, --mangle', '启用混淆')
.action((dir, cmd) => {
require(`${commandPath}${cmd._name}`)(cmd,dir)
})
program.on('--help', function() {
console.log('\n');
console.log('Examples:');
// console.log('****************');
console.log(` node ${binName} config`);
console.log(` node ${binName} list`);
console.log(` node ${binName} init`);
console.log(` node ${binName} eslint`);
console.log(` node ${binName} server`);
console.log(` node ${binName} mock`);
console.log(` node ${binName} proxy`);
console.log(` node ${binName} img`);
console.log(` node ${binName} upyun`);
console.log(` node ${binName} uglify`);
});
program.parse(process.argv)
if(!program.args.length){
program.help()
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化