![](/img/trans.png)
[英]how to pass parameter from one script to another script in `package.json`?
[英]Pass more than one variable to a package.json script
我有package.json (不是 BASH,不是 SH,不是 ZSHELL,不是魚)。
因此,在我們確定這是我的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"
因為您可以在空間分隔時使用多個環境。 這源於 bash 等終端的常見行為,您可以在其中即時設置多個 env 變量:
FOO1=baz FOO2=fnord FOO3=baz env | grep FOO
FOO1=baz
FOO2=fnord
FOO3=baz
我和 Stevek 在一起,我閱讀了答案(重復的答案)並且對 bash 的引用感到沮喪。 我在使用 Powershell 的 Windows 系統上。 我想傳遞多個環境變量並讓它在使用 Powershell 的 Windows 系統中工作。 除非啟用跨系統使用,否則對 *nix 命令等的任何引用都是一團糟。
到目前為止,這個答案沒有得到解答。 所以會添加我發現的
這個問題告訴你如何傳遞 1 個變量。 如何從 package.json 中設置環境變量
"start": "set NODE_ENV=YOURENV&&node start.js"
現在如何傳遞多於 1? 這仍然是一個問題。
有人告訴我使用 cross-env 是最好的:cross-env NODE_ENV=production my-command
答案在這里給出: 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]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.