我有一些如下所示的 npm 脚本:
"scripts": {
"exec:dev": "export NODE_ENV=development && npm run exec",
"exec:stage": "export NODE_ENV=stage && npm run exec",
"exec:prod": "export NODE_ENV=production && npm run exec",
"exec": "node myapp.js"
}
Run Code Online (Sandbox Code Playgroud)
我想传递一些命令行参数,myapp.js但这不起作用:
npm run exec:prod -- -a 123 -b 456
Run Code Online (Sandbox Code Playgroud)
这显然是由于exec:prod脚本正在调用exec脚本并且显然没有传递命令行参数。有什么方法可以在保留嵌套脚本调用的同时实现此目的吗?
要明确告诉exec脚本传递它获取的参数,请包含另一个--.
代替:
npm run exec:prod -- -a 123 -b 456
Run Code Online (Sandbox Code Playgroud)
尝试:
npm run exec:prod -- -- -a 123 -b 456
Run Code Online (Sandbox Code Playgroud)
第一个双破折号告诉exec:dev脚本,“这些参数不适合您,请将它们传递给 exec 脚本”。
第二个双破折号告诉exec脚本,“这些参数不适合你,请将它们传递给 node myapp.js”。