Fra*_*ser 8 node.js npm npm-scripts
有没有办法将命令行参数传递给npm'pre'脚本或运行多个命令的脚本?
假设一个简单的脚本mySexyScript.js只是注销process.argv:
console.log(process.argv);
Run Code Online (Sandbox Code Playgroud)
这有效
使用npm脚本:
...
"scripts": {
....
"sexyscript": "node mySexyScript.js"
....
}
...
Run Code Online (Sandbox Code Playgroud)
运行:
npm run sexyscript -- --foo=bar
Run Code Online (Sandbox Code Playgroud)
参数按预期记录到控制台.
'pre'脚本 - 这不起作用
使用npm脚本:
...
"scripts": {
....
"presexyscript": "node mySexyScript.js"
"sexyscript": "node mySuperSexyScript.js"
....
}
...
Run Code Online (Sandbox Code Playgroud)
运行:
npm run sexyscript -- --foo=bar
Run Code Online (Sandbox Code Playgroud)
参数不会传递给mySexyScript,也不会记录它们
多个命令 - 这也不起作用
使用npm脚本:
...
"scripts": {
....
"sexyscript": "node mySexyScript.js && node mySuperSexyScript.js"
....
}
...
Run Code Online (Sandbox Code Playgroud)
运行:
npm run sexyscript -- --foo=bar
Run Code Online (Sandbox Code Playgroud)
参数不会传递给mySexyScript,也不会记录它们
无法以您描述的方式传递 args。
假设一个package.json:
...
"scripts": {
....
"somescript": "node one.js && node two.js"
....
}
...
Run Code Online (Sandbox Code Playgroud)
跑步:
npm run somescript -- --foo=bar
Run Code Online (Sandbox Code Playgroud)
基本上只是运行
node one.js && node two.js --foo=bar
Run Code Online (Sandbox Code Playgroud)
在默认系统外壳上(通常为bash或cmd.exe)。
npm实际上对 shell 运算符(即&&)一无所知,因此它无法将 args 传递给两个脚本。
| 归档时间: |
|
| 查看次数: |
1013 次 |
| 最近记录: |