带命令行参数的 npm 子脚本

d51*_*512 1 command-line npm

我有一些如下所示的 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脚本并且显然没有传递命令行参数。有什么方法可以在保留嵌套脚本调用的同时实现此目的吗?

Mik*_*ick 5

要明确告诉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”。