我正在用WebPack构建一个简单的NodeJs Lambda。 有一个依赖的node_module基于NODE_ENV使用不同的配置文件
let config = require(`./${process.env.NODE_ENV ? process.env.NODE_ENV : 'dev'}_env.js`);
我正在package.json中设置NODE_ENV
"serve": "set NODE_ENV=qa&webpack --mode development --watch",
"serve-windows": "$env:NODE_ENV=qa&webpack --mode development --watch"
和webpack配置中
mode: process.env.NODE_ENV ? process.env.NODE_ENV : 'default',
无论我做什么,它总是包括dev_env.js忽略我正在设置的NODE_ENV。 我花了一整晚的时间看不同的帖子想弄明白这一点,是不是有什么我做错了?
WebPack
模式开发将node_env
设置为开发。 请参阅文档:https://webpack.js.org/configuration/mode/#usage
另一个注释default
和qa&webpack
是node_env
的非标准值。 通常,期望值要么是development
,要么是test
,要么是production
。
如果要使用这种方法,则必须使用不同的环境变量,例如:
let config = require(`./${process.env.APP_ENV ? process.env.APP_ENV : 'dev'}_env.js`);
"serve": "set APP_ENV=qa&webpack --mode development --watch",