将多个变量传递给 package.json 脚本
Pass more than one variable to a package.json script
我有 package.json(不是 BASH,不是 SH,不是 ZSHELL,不是 FISH)。
所以在我们确定这是我的 package.json 文件之后,让我向您展示它:
package.json
"scripts": {
"dev": "NODE_ENV=myValue myProgram"
}
我想在上面的文件中添加更多变量(例如 MYVAR=myOtherValue
),这是我的 package.json 文件。我该怎么做(向我的 package.json 文件添加更多变量)?
让我明确一点,我不想阅读 bash 或 zshell、fish 或 sh 的联机帮助页。这就是为什么我把问题放在这里而没有阅读联机帮助页的原因 - 否则我不会把它放在这里并且会阅读联机帮助页。谢谢理解。
您的脚本应该是:
"dev": "NODE_ENV=myValue MYVAR=myOtherValue myProgram"
当space分隔时可以添加多个环境变量。
这源于 bash 等终端的常见行为,您可以在其中动态设置多个环境变量:
FOO1=baz FOO2=fnord FOO3=baz env | grep FOO
FOO1=baz
FOO2=fnord
FOO3=baz
我在这个问题上支持史蒂夫,我阅读了答案(重复的答案)并且对 bash 的引用感到沮丧。我在使用 Powershell 的 windows 系统上。我想传递多个环境变量并让它在使用 Powershell 的 windows 系统中工作。除非启用跨系统使用,否则任何对 *nix 命令等的引用都是在混淆视听。
目前这个答案还没有人回答。所以将添加我发现的内容
这道题告诉你如何传递1个变量。 How to set environment variables from within package.json
"start": "set NODE_ENV=YOURENV&&node start.js"
现在如何传1个以上?还是这个问题。
有人告诉我使用 cross-env 是最好的:
跨环境 NODE_ENV=生产我的命令
这里给出了答案:https://github.com/kentcdodds/cross-env/issues/15
"scripts": {
"debug": "cross-env NODE_PATH=. DEBUG=app:* nodemon bootload.js"
}
然而,cross-env 并没有使用 PowerShell,而是在 windows 上贬低了 cmd shell。那么回到主要问题。 [除非您进行此更改 https://github.com/kentcdodds/cross-env/issues/192#issuecomment-513341729]
我有 package.json(不是 BASH,不是 SH,不是 ZSHELL,不是 FISH)。
所以在我们确定这是我的 package.json 文件之后,让我向您展示它:
package.json
"scripts": {
"dev": "NODE_ENV=myValue myProgram"
}
我想在上面的文件中添加更多变量(例如 MYVAR=myOtherValue
),这是我的 package.json 文件。我该怎么做(向我的 package.json 文件添加更多变量)?
让我明确一点,我不想阅读 bash 或 zshell、fish 或 sh 的联机帮助页。这就是为什么我把问题放在这里而没有阅读联机帮助页的原因 - 否则我不会把它放在这里并且会阅读联机帮助页。谢谢理解。
您的脚本应该是:
"dev": "NODE_ENV=myValue MYVAR=myOtherValue myProgram"
当space分隔时可以添加多个环境变量。
这源于 bash 等终端的常见行为,您可以在其中动态设置多个环境变量:
FOO1=baz FOO2=fnord FOO3=baz env | grep FOO
FOO1=baz
FOO2=fnord
FOO3=baz
我在这个问题上支持史蒂夫,我阅读了答案(重复的答案)并且对 bash 的引用感到沮丧。我在使用 Powershell 的 windows 系统上。我想传递多个环境变量并让它在使用 Powershell 的 windows 系统中工作。除非启用跨系统使用,否则任何对 *nix 命令等的引用都是在混淆视听。
目前这个答案还没有人回答。所以将添加我发现的内容
这道题告诉你如何传递1个变量。 How to set environment variables from within package.json
"start": "set NODE_ENV=YOURENV&&node start.js"
现在如何传1个以上?还是这个问题。
有人告诉我使用 cross-env 是最好的: 跨环境 NODE_ENV=生产我的命令
这里给出了答案:https://github.com/kentcdodds/cross-env/issues/15
"scripts": {
"debug": "cross-env NODE_PATH=. DEBUG=app:* nodemon bootload.js"
}
然而,cross-env 并没有使用 PowerShell,而是在 windows 上贬低了 cmd shell。那么回到主要问题。 [除非您进行此更改 https://github.com/kentcdodds/cross-env/issues/192#issuecomment-513341729]