[英]Unable to access Node.js environment variables in `process.env`
嘗試使用屬性名稱訪問process.env
屬性時,我undefined
。 參見代碼示例
const foo = Object.keys(process.env)[0] // 'node'
console.log(foo === 'node') // true
console.log(process.env.node) // undefined
console.log(process.env['node']) // undefined
console.log(process.env[foo]) // path to node
process.env
包含node
:
{
node: '/Users/jasper.wang/.nvm/versions/node/v8.16.0/bin/node',
// ...
}
有關process.env
的完整輸出,請查看我制作的這個Gist 。
更新:
這是一個Webpack問題:
Webpack無法識別擴展的環境變量,因此符合
console.log(process.env.extended_variable)
至
console.log(undefined);
解決方案:如果您使用的是Webpack,則可以使用Webpack EnvironmentPlugin
在我的特定情況下,我還使用了dotenv和babel。 所以我通過使用dotenv-webpack和babel inline dot env plugin修復了它。
plugins.push(new webpack.DefinePlugin({
process: {
env: {
node: JSON.stringify(process.env.node),
},
},
}));
在webpack配置內的插件中,也請推送這些設置,然后它將對您有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.