蒙牛网站建设报价情况,可以玩游戏的网站,网页设计图片居中代码,青岛网站建设青岛脚手架注册和命令注册 1 #xff09;脚手架的注册
接上文#xff0c;仍旧在 abc-cli 项目中参考#xff1a;https://blog.csdn.net/Tyro_java/article/details/136381086之前初始化的时候#xff0c;使用的是 yargs, 现在我们想要使用 commander在cli包中安装 commander $…脚手架注册和命令注册 1 脚手架的注册
接上文仍旧在 abc-cli 项目中参考https://blog.csdn.net/Tyro_java/article/details/136381086之前初始化的时候使用的是 yargs, 现在我们想要使用 commander在cli包中安装 commander $ npm i commander -w abc.com/cli进入 abc-cli/packages/cli/lib/inex.jsconst commander require(commander);
const { program } commander;
const pkg require(../package.json);module.exports (args) {program.name(Object.keys(pkg.bin)[0]).usage(command [options]).version(pkg.version).option(-d, --debug, 是否开启调试模式, false)program.parse(process.argv)
}在 cli 目录下执行 $ abc-cli -V 验证可以正确输出版本这样脚手架注册的默认流程实现了
2 命令的注册 接着写这个程序 const commander require(commander);
const { program } commander;
const pkg require(../package.json);module.exports (args) {program.name(Object.keys(pkg.bin)[0]).usage(command [options]).version(pkg.version).option(-d, --debug, 是否开启调试模式, false)// 这里注册命令program.command(init [name]).description(init project).option(-f, --force, 是否强制更新, false).action((name, opts) {console.log(init ...)console.log(name)console.log(opts)})program.parse(process.argv)
}验证下在cli目录执行 $ abc-cli -h, 有如下返回 Usage: abc-cli command [options]Options:-V, --version output the version number-d, --debug 是否开启调试模式 (default: false)-h, --help display help for commandCommands:init [options] [name] init projecthelp [command] display help for command可以看到 Commands 栏多了 init 命令 在cli目录下执行 $ abc-cli init 666 -f可看到 init ...
666
{ force: true }这里name 和 opts 都拿到了说明命令都注册成功了