node.js - webpack 不会投入生产。默认为开发
问题描述
我迷路了。我一直在关注 webpack 上的 Udemy Webpack 4 教程,但我坚持为不同的模式设置不同的配置。
我可以从我的生产配置构建就好了,但是在运行节点服务器时,它没有设置为生产。
我有我的 main.js 写这个:
console.log(`Environment is: ${process.env.NODE_ENV`}
我只在发展中看到它。
这是我的 package.json 运行生产的脚本:我运行npm run build然后npm run prod
"scripts": {
"build:dev": "webpack --config=config/webpack.dev.js",
"build": "webpack --config=config/webpack.prod.js",
"dev": "nodemon --inspect --watch config --watch src/server
src/server/main.js",
"prod": "cross-env NODE_ENV=production node src/server/main.js"
},
有人提到我需要在插件部分的 webpack prod 配置中定义 NODE_ENV 。这是我的方式:
new webpack.DefinePlugin({
'process.env': {
NODE_ENV:'"production"'
}
}),
我以不同的方式尝试过: 'process.env': {'NODE_ENV': JSON.Stringify("production")} 和其他几种方式,但我没有运气。
这是我的存储库,可以查看我的完整配置: https ://github.com/PepperAddict/webpack-express
我将不胜感激任何帮助甚至建议以更好的方式进行设置。先感谢您!
解决方案
下面是我使用 webpack 4 的配置
"prod": "webpack -p --mode=production --config webpack.prod.js",
"start": "webpack --mode=development --config webpack.dev.js",
如果你想设置 NODE_ENV 你可以这样做
"prod": "SET NODE_ENV=production& webpack -p --mode=production",
希望有所帮助
推荐阅读
- asp.net-mvc - An issue with IDictionary in Asp Net Core uri parameters
- python - 如何以更快的方式找到每对图像之间的欧几里得距离
- c# - 检测是否启用了模拟位置(GPS 欺骗)并请求禁用
- python - 摆脱 Python 静态/类属性的 PyCharm 警告
- redux - 嵌套数据规范化 createEntityAdapter
- google-sheets - 动态从列中提取数据
- java - 如何在 Mockito 的方法中模拟“新”创建的对象
- android - 非活动 InputConnection 上的 beginBatchEdit
- docker - Docker 卷不同步
- php - 如何在控制器中处理来自地理编码的错误