簡體   English   中英

盡管我設置了環境變量,但NODE_ENV顯示未定義

[英]NODE_ENV is showing undefined although i set environment variable

我正在使用webstorm,並且嘗試使用設置環境變量

set NODE_ENV=development

當我使用檢查環境變量時

echo%NODE_ENV%

我得到發展作為答案。

但是在我的節點應用程序中,當我使用以下命令檢查變量時

 var b= process.env.NODE_ENV;

我得到

b:undefined

我什至嘗試在package.json文件中使用以下內容

"start": "set  node ./bin/www && NODE_ENV=production "

仍然我越來越不確定。 我不知道這是什么問題。

您應該首先設置變量,然后運行腳本:

"start": "set NODE_ENV=production&& node ./bin/www"

請注意,這僅適用於Windows。 如果您需要跨平台的解決方案,請使用cross-env軟件包:

cross-env NODE_ENV=production node ./bin/www

使用導出代替

"start": "export NODE_ENV=production && node ./bin/www"

以下是對我有效的方法,因為我的目標是使程序包依存性真正滿足我的需求:

"startwin": "SET NODE_ENV=production& SET SOME_TOKEN=123abc& node ./bin/www",
"start": "NODE_ENV=production SOME_TOKEN=123abc node ./bin/www" 

缺點是每次需要另一個環境var時,我都有2個地方可以編輯,但這幾乎不需要任何努力(至少就我而言,您的情況可能有所不同)。

如果需要單獨的config.js,請確保它是第一個。 您可能有比賽條件。

昨天我遇到了這樣的事情。 這可能是或不是您的問題。 運行代碼時,環境變量未定義。 我將整個庫移到了單獨的模塊中。 我需要那個模塊。 我的問題是我的要求出了問題,所以當它問到時,還沒有確定。 我將config.js的要求移至庫包的要求之上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM