javascript - 在 npm 命令中传递多个参数

标签 javascript node.js npm

我试图在我的 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/

相关文章:

node.js - Express:如何在不等待请求的情况下获取 express 服务器正在监听的主机名和端口

node.js - RUN npm install 上的 Dockerfile 构建错误

javascript - knockout js 阻止现有的 html observable 更新

javascript - 尝试在 android webview 应用程序中进行 facebook 登录时出现空白页面

javascript - 固定定位元素消失

node.js - 您应该向用户发送数据库错误吗?

node.js - ejs async true 与 node Express

node.js - webpack - TypeError : dep. getResourceIdentifier 不是函数

javascript - ELI5 包含一个 npm 包

javascript - jQuery/CSS : Highlight row on click not working