我试图在我的 npm 命令中传递参数并在我的脚本中使用该参数
例子:
npm run test -b chrome -e QA
"scripts": {
"test": "something.js ./xyz/abc/cdf --something \"{\\\"browser\\\": \\\"<process.argv[2]>\\\"}\""
}
我不确定,如何在我的脚本中访问。
请多多指教
最佳答案
在something.js
您可以通过 process.argv
访问流程参数.
它将是一个 x 元素数组,其中前两个是运行脚本的可执行文件,第二个是正在运行的脚本的路径。
尝试 console.log(process.argv);
看看发生了什么。
在您的具体示例中,您应该删除转义的 "
字符让它工作,像这样:
在终端中运行 Node
node somethings.js ./xyz/abc/cdf --something "{\\\"browser\\\": \\\"<process.argv[2]>\\\"}"
结果:
[ '/usr/local/bin/node',
'/Users/user/Documents/test.js',
'./xyz/abc/cdf',
'--something',
'{\\"browser\\": \\"<process.argv[2]>\\"}' ]
package.json 脚本
"scripts": {
"test": "node test.js"
},
注意:在测试脚本中添加node作为可执行文件
正在运行 npm run test -b chrome -e QA
结果:
[ '/usr/local/bin/node',
'/Users/user/Documents/test.js',
'chrome',
'QA' ]
如果您想获得 -b
和 -e
参数也在那里,添加 --
.像这样:
npm run test -- -b chrome -e QA
结果
[ '/usr/local/bin/node',
'/Users/user/Documents/test.js',
'-b',
'chrome',
'-e',
'QA' ]
关于javascript - 在 npm 命令中传递多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53595980/