无法访问“ process.env”中的node.js环境变量



我尝试使用属性名称访问 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配置内的插件中也按下这些设置,它将适用于您。

相关内容

  • 没有找到相关文章

最新更新