簡體   English   中英

AWS Lambda 未設置環境變量,節點中未定義 process.env

[英]AWS Lambda Environment Variables not set, process.env undefined in Node

盡管 Lambda function 的儀表板顯示我NODE_ENV列為環境變量,但當我運行節點 AWS Lambda function 時, process.env.NODE_ENV未定義。

這個代碼...

console.log('node process env NODE_ENV:');
console.log(process.env.NODE_ENV);

記錄這個:

node process env NODE_ENV:
undefined

我在想是不是角色的問題,所以我給了它的角色在AWS Lambda上的所有權限,但是沒有用。

對於它的價值,我正在使用Claudia bot builder ,運行 npm 腳本

"deploy:production": "claudia update --version production --set-env NODE_ENV=production",

但正如我所說, NODE_ENV環境顯示在 function 儀表板的環境變量列表中。

有任何想法嗎?

如果你是通過谷歌搜索來到這里的:

當您在代碼中定義名為“process”的 function 時,也會發生這種情況。 function 將覆蓋內部 node.js“進程”變量。

原來問題是Webpack壓縮了process.env

我通過使用babel-plugin-transform-inline-environment-variables來解決這個問題,這些變量在構建時內聯環境變量。

我發現只要你在webpack配置中放置target:node,你就可以訪問process.env變量。

暫無
暫無

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

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