我尝试使用属性名称访问 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
的全部输出
更新:
这是一个网页问题:
webpack无法识别扩展的环境变量,因此它符合了
console.log(process.env.extended_variable)
to
console.log(undefined);
解决方案:如果您使用的是WebPack,则可以使用WebPack Environmentplugin
在我的特殊情况下,我还使用dotenv和babel。因此,我通过使用dotenv-webpack和babel inline dot env插件修复了它。
plugins.push(new webpack.DefinePlugin({
process: {
env: {
node: JSON.stringify(process.env.node),
},
},
}));
在WebPack配置内的插件中也按下这些设置,它将适用于您。