我有一个通过"npm“命令运行的NodeJS文件。我一直在尝试列出所有参数(包括标志)。如果我通过直接调用节点exe来运行它,它工作得很好,但是如果我使用npm命令,我就不能访问标志。
代码:
console.dir(process.argv);当我像这样运行文件时,
node file.js arg1 arg2 -f --flag2我可以得到所有的论据。
[ '/usr/local/bin/node',
'/.../file.js',
'arg1',
'arg2',
'-f',
'--flag2' ]但是,如果我将npm runner添加到package.json文件中并尝试使用它运行,我只能获取参数,而不能获取标志。
npm run test arg1 arg2 -f --flag2结果是:
[ '/usr/local/bin/node',
'/.../file.js',
'arg1',
'arg2' ]package.json文件:
{
"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"
}基本上,节点不会将标志传递给正在运行的脚本。对此有解决方案吗?我的实际项目有一个很长的路径,有很多参数,所以我想使用一个快捷方式来测试它。
发布于 2017-10-16 06:56:15
在参数前使用双破折号:
npm run test -- arg1 arg2 -f --flag2https://stackoverflow.com/questions/46760799
复制相似问题