![](/img/trans.png)
[英]Is it possible to use environment variables from .env package in the npm scripts
[英]Load Local Environmental Variables For Use In NPM Scripts
我有一個NPM腳本,如下所示:
"start": "server start --host $DEV_HOST"
還有許多其他腳本也引用$DEV_HOST
。
當前$DEV_HOST
已導出到我的~/.bashrc
,但是我想找到一種在項目中本地定義它的方法,例如在.env
文件中。
我想知道npm是否提供了一個preall
鈎子,該鈎子將允許調用一個可以在本地envs中加載的簡單bash文件,但是不存在這樣的鈎子。
NPM似乎也沒有為本地環境提供任何加載機制。
我目前能想到的唯一解決方案是:
將所有需要本地env的腳本移動到它們自己的bash文件中,並在每個腳本中加載.env文件。
在需要從.env文件加載到envs中的需要本地env的每個腳本之前,調用一個單獨的腳本。
兩者看起來都不必要地麻煩,並且擴展性不好。
有什么方法可以加載在項目本地文件中定義的環境,以便可以在NPM腳本中使用它們?
注意: 我不是在問如何將env加載到應用程序中。 我在問如何使nv腳本可以使用env。 這兩件事完全不同。 Dot-env將envs添加到當前進程。 即使您創建了使用dot-env加載某些env的節點腳本,這些env也不會通過$變量提供,因為它們沒有加載到環境中。 它們只能通過process.env
在同一進程中使用。
您只需在NPM腳本中回顯一個環境變量即可。
例如,在項目根目錄的命令行上運行以下命令:
export SOME_ENV=blalala
然后可以在package.json
像這樣使用它:
"scrips:" {
"print-env": "echo $SOME_ENV"
}
這blalala
輸出到控制台。
如果要在腳本中可用的.env
定義環境變量,請使用類似以下內容的內容: https : .env
npm i better-npm-run
創建您的.env
文件,然后完全如上所示使用變量
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.