如何通过npm run-script将标志传递给nodejs应用程序?
问题描述:
我有一个NodeJS文件,我通过“npm”命令运行。我一直在试图列出所有参数(包括标志)。如果我通过直接调用节点exe来运行它,它工作正常,但如果我使用npm
命令,我无法访问标志。如何通过npm run-script将标志传递给nodejs应用程序?
代码:
console.dir(process.argv);
当我运行像这样的文件,
node file.js arg1 arg2 -f --flag2
我可以得到所有的参数。
[ '/usr/local/bin/node',
'/.../file.js',
'arg1',
'arg2',
'-f',
'--flag2' ]
但如果我添加一个NPM亚军到的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"
}
基本上,节点将无法通过标志来运行的脚本。有没有解决方案?我真正的项目有很长的路径,所以我想用一个快捷方式来测试它。
答
参数之前使用双破折号:
npm run test -- arg1 arg2 -f --flag2
工作正常。谢谢。 – amone