首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过npm run-script向nodejs应用程序传递标志?

如何通过npm run-script向nodejs应用程序传递标志?
EN

Stack Overflow用户
提问于 2017-10-16 06:52:33
回答 1查看 9.8K关注 0票数 17

我有一个通过"npm“命令运行的NodeJS文件。我一直在尝试列出所有参数(包括标志)。如果我通过直接调用节点exe来运行它,它工作得很好,但是如果我使用npm命令,我就不能访问标志。

代码:

代码语言:javascript
复制
console.dir(process.argv);

当我像这样运行文件时,

代码语言:javascript
复制
node file.js arg1 arg2 -f --flag2

我可以得到所有的论据。

代码语言:javascript
复制
[ '/usr/local/bin/node',
  '/.../file.js',
  'arg1',
  'arg2',
  '-f',
  '--flag2' ]

但是,如果我将npm runner添加到package.json文件中并尝试使用它运行,我只能获取参数,而不能获取标志。

代码语言:javascript
复制
npm run test arg1 arg2 -f --flag2

结果是:

代码语言:javascript
复制
[ '/usr/local/bin/node',
  '/.../file.js',
  'arg1',
  'arg2' ]

package.json文件:

代码语言:javascript
复制
{
  "name": "name",
  "version": "1.0.0",
  "description": "",
  "main": "test.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "test" : "node test.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

基本上,节点不会将标志传递给正在运行的脚本。对此有解决方案吗?我的实际项目有一个很长的路径,有很多参数,所以我想使用一个快捷方式来测试它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-16 06:56:15

在参数前使用双破折号:

代码语言:javascript
复制
npm run test -- arg1 arg2 -f --flag2
票数 26
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46760799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档