gpt4 book ai didi

node.js - 使用多个命令将命令行参数传递给 npm 'pre' 脚本和脚本

转载 作者:搜寻专家 更新时间:2023-10-31 22:20:54 27 4
gpt4 key购买 nike

有没有办法将命令行参数传递给 npm“pre”脚本或运行多个命令的脚本?

假设一个简单的脚本 mySexyScript.js 只注销 process.argv :

console.log(process.argv);

这行得通

使用 npm 脚本:

...
"scripts": {
....
"sexyscript": "node mySexyScript.js"
....
}
...

运行:

npm run sexyscript -- --foo=bar

参数按预期记录到控制台。

'pre' 脚本 - 这不起作用

使用 npm 脚本:

...
"scripts": {
....
"presexyscript": "node mySexyScript.js"
"sexyscript": "node mySuperSexyScript.js"
....
}
...

运行:

npm run sexyscript -- --foo=bar

参数没有传递给 mySexyScript,也没有记录

多个命令 - 这也行不通

使用 npm 脚本:

...
"scripts": {
....
"sexyscript": "node mySexyScript.js && node mySuperSexyScript.js"
....
}
...

运行:

npm run sexyscript -- --foo=bar

参数没有传递给 mySexyScript,也没有记录

最佳答案

无法按照您描述的方式传递参数。

假设一个package.json:

...
"scripts": {
....
"somescript": "node one.js && node two.js"
....
}
...

运行:

npm run somescript -- --foo=bar

基本上只是运行

node one.js && node two.js --foo=bar

在默认系统外壳上(通常是 bashcmd.exe)。

npm 实际上对 shell 运算符一无所知(即 &&),因此它无法将 args 传递给两个脚本。

关于node.js - 使用多个命令将命令行参数传递给 npm 'pre' 脚本和脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42491208/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com