如何通过 npm 命令使用 commander.js 命令
How to use commander.js command through npm command
我正在使用 commander.js 这样的命令 ./index.js --project mono --type item --title newInvoice --comments 'Creates an invoice' --write
,现在我通过 npm run item newInvoice
使用命令,方法是在 package.json
文件中设置一些选项,就像这样
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"snapshot": "node --max-old-space-size=10240 ./scripts/snapshot.js",
"item": "./index.js --project mono --type item --title",
"config": "./index.js --project mono --type config --title"
}
但是每当我尝试使用 npm run item newInvoice --write
通过 npm 获取 --write
选项时,它会显示 undefined
for --write
源代码:
#!/usr/bin/env node
const fs = require('fs');
const program = require('commander');
require('colors');
program
.version('0.1.0')
.option('--project [project]', 'Specifies the project name', 'mono')
.option('--type [type]', 'Type of code to generate, either "item" or "config"', /^(config|item)$/, 'config')
.option('--title [title]', 'Title of the item or config', 'untitled')
.option('--comments [comments]', 'Configs: describe the config', '@todo description/comments')
.option('--write', 'Write the source code to a new file in the expected path')
.option('--read', 'To see what would be written the source code to a new file in the expected path')
.parse(process.argv);
console.log(program.write, program.read); //=> undefined undefined
任何人都可以帮助我如何在 npm 中使用 commander js 命令吗?
当您 运行 您的 npm run
命令时,您需要使用特殊的 --
选项来划定 可能 属于 npm run
命令本身(例如 --silent
),以及要传递给 end 的参数的开头npm 脚本。
运行 改为以下命令:
npm run item -- newInvoice --write
鉴于上述命令和当前定义的名为 item
的 npm 脚本的命令,它们在执行之前基本上形成了以下复合命令:
./index.js --project mono --type item --title newInvoice --write
^ ^
npm run
文档说明如下:
As of npm@2.0.0, you can use custom arguments when executing scripts. The special option --
is used by getopt to delimit the end of the options. npm will pass all the arguments after the --
directly to your script.
它的用法语法在 Synopsis 部分定义为:
npm run-script <command> [--silent] [-- <args>...]
^^
注意:不可能将--
选项添加到 npm 脚本本身。
我正在使用 commander.js 这样的命令 ./index.js --project mono --type item --title newInvoice --comments 'Creates an invoice' --write
,现在我通过 npm run item newInvoice
使用命令,方法是在 package.json
文件中设置一些选项,就像这样
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"snapshot": "node --max-old-space-size=10240 ./scripts/snapshot.js",
"item": "./index.js --project mono --type item --title",
"config": "./index.js --project mono --type config --title"
}
但是每当我尝试使用 npm run item newInvoice --write
通过 npm 获取 --write
选项时,它会显示 undefined
for --write
源代码:
#!/usr/bin/env node
const fs = require('fs');
const program = require('commander');
require('colors');
program
.version('0.1.0')
.option('--project [project]', 'Specifies the project name', 'mono')
.option('--type [type]', 'Type of code to generate, either "item" or "config"', /^(config|item)$/, 'config')
.option('--title [title]', 'Title of the item or config', 'untitled')
.option('--comments [comments]', 'Configs: describe the config', '@todo description/comments')
.option('--write', 'Write the source code to a new file in the expected path')
.option('--read', 'To see what would be written the source code to a new file in the expected path')
.parse(process.argv);
console.log(program.write, program.read); //=> undefined undefined
任何人都可以帮助我如何在 npm 中使用 commander js 命令吗?
当您 运行 您的 npm run
命令时,您需要使用特殊的 --
选项来划定 可能 属于 npm run
命令本身(例如 --silent
),以及要传递给 end 的参数的开头npm 脚本。
运行 改为以下命令:
npm run item -- newInvoice --write
鉴于上述命令和当前定义的名为 item
的 npm 脚本的命令,它们在执行之前基本上形成了以下复合命令:
./index.js --project mono --type item --title newInvoice --write
^ ^
npm run
文档说明如下:
As of npm@2.0.0, you can use custom arguments when executing scripts. The special option
--
is used by getopt to delimit the end of the options. npm will pass all the arguments after the--
directly to your script.
它的用法语法在 Synopsis 部分定义为:
npm run-script <command> [--silent] [-- <args>...] ^^
注意:不可能将--
选项添加到 npm 脚本本身。