如何正确 运行 带参数的 npm 脚本
How to properly run a npm script with arguments
我用 nodejs 编写了一个小型命令行程序,我希望能够使用以下参数键入 npm run test
和 运行 程序。
直接输入以下命令即可,
node.exe scrappee.js -u 'https://github.com/matutter/{}' -us 'cloggie, AirRocks-Flightcontroller' -s '$commit=li.commits > a > span, $sha=.right .commit-tease-sha' -pm .\test\example_parse_module.js
但是我的package.json内容如下,没有任何输出。
"scripts": {
"test" : "node.exe scrappee.js -u 'https://github.com/matutter/{}' -us 'cloggie, AirRocks-Flightcontroller' -s '$commit=li.commits > a > span, $sha=.right .commit-tease-sha' -pm .\test\example_parse_module.js"
}
如何使用这些参数将命令 npm run test
发送到 运行 scrappee.js 脚本?
问题是单引号 '
在转发参数时被 npm 转换为“'”,解决方案是用双引号替换它们,如下所示。
"test" : "node.exe scrappee.js -u \"https://github.com/matutter/{}\" -us \"cloggie, AirRocks-Flightcontroller\" -s \"$commit=li.commits > a > span, $sha=.right .commit-tease-sha\" -pm \".\test\example_parse_module.js\""
我用 nodejs 编写了一个小型命令行程序,我希望能够使用以下参数键入 npm run test
和 运行 程序。
直接输入以下命令即可,
node.exe scrappee.js -u 'https://github.com/matutter/{}' -us 'cloggie, AirRocks-Flightcontroller' -s '$commit=li.commits > a > span, $sha=.right .commit-tease-sha' -pm .\test\example_parse_module.js
但是我的package.json内容如下,没有任何输出。
"scripts": {
"test" : "node.exe scrappee.js -u 'https://github.com/matutter/{}' -us 'cloggie, AirRocks-Flightcontroller' -s '$commit=li.commits > a > span, $sha=.right .commit-tease-sha' -pm .\test\example_parse_module.js"
}
如何使用这些参数将命令 npm run test
发送到 运行 scrappee.js 脚本?
问题是单引号 '
在转发参数时被 npm 转换为“'”,解决方案是用双引号替换它们,如下所示。
"test" : "node.exe scrappee.js -u \"https://github.com/matutter/{}\" -us \"cloggie, AirRocks-Flightcontroller\" -s \"$commit=li.commits > a > span, $sha=.right .commit-tease-sha\" -pm \".\test\example_parse_module.js\""