【发布时间】:2019-04-09 22:57:25
【问题描述】:
所以我正在努力将命令行选项参数从 npm 传递到节点脚本。我可以自己传递选项,但不能作为键值对。
对于我的 package.json,我有:
"scripts": {
"test": ". ./.env; node app.js --"
},
(我的理解是,对于 npm,您需要包含和额外的“--”来传递参数) 在我的 app.js 中有:
const { argv, options } = require('yargs');
console.log(argv._);
当我跑步时
$ npm run test FOO BAR
我明白了:
['FOO','BAR']
很好,很有效,但如果我尝试
$ npm run test FOO --BAR 99RedBalloons
我明白了:
['FOO','99RedBallons']
和
$ npm run test FOO --BAR=99RedBallons 给我:
['FOO']
什么?所以,我的问题真的是,使用“run npm ”并且我假设 yargs(因为我相信这是最流行的包),我怎么能用 ["FOO", "Bar" 的 arg._ 到达:" 99个红气球”]。
谢谢!
【问题讨论】:
-
你试过 npm run test FOO Bar 99RedBallons 吗?
-
我有,这给了我 ['FOO', 'Bar', '99RedBalloons']
-
npm 如何将命令行参数传递给节点脚本对我来说有些奇怪
-
我以为您想要您在评论中所说的确切结果和问题的结尾。
标签: node.js npm arguments command-line-interface yargs