我迷路了。 我一直在关注Webpack上的Udemy Webpack 4教程,但我坚持针对不同模式使用不同的配置。
我可以从生产配置中很好地进行构建,但是在运行节点服务器时,未将其设置为生产。
我的main.js编写如下:
console.log(`Environment is: ${process.env.NODE_ENV`}
我只在展览中看到过它是Development。
这是运行生产的package.json脚本:我先运行npm run build ,然后再运行npm 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产品配置中定义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",
希望对您有所帮助