未设置AWS Lambda环境变量,在Node中未定义process.env

时间:2017-05-04 15:08:58

标签: node.js amazon-web-services aws-lambda

即使Lambda函数的仪表板显示我NODE_ENV列为环境变量,但在运行我的Node AWS Lambda函数时,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环境显示在功能的仪表板中的环境变量列表中。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

原来问题是Webpack压缩了process.env

我使用babel-plugin-transform-inline-environment-variables解决了这个问题,它在构建时内联环境变量。

答案 1 :(得分:0)

我发现只要在Webpack配置中放置target:节点,就可以访问process.env变量。