即使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
环境显示在功能的仪表板中的环境变量列表中。
有什么想法吗?
答案 0 :(得分:2)
原来问题是Webpack压缩了process.env
。
我使用babel-plugin-transform-inline-environment-variables解决了这个问题,它在构建时内联环境变量。
答案 1 :(得分:0)
我发现只要在Webpack配置中放置target:节点,就可以访问process.env变量。