我迷路了。我一直在关注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产品配置中定义NODE_ENV。这是我的方法:
new webpack.DefinePlugin({
'process.env': {
NODE_ENV:'"production"'
}
}),
我以不同的方式尝试过:'process.env':{'NODE_ENV':JSON.Stringify(“ production”)}以及其他几种方式,但我没有运气。
这是我的资料库,用于查看我的完整配置:https://github.com/PepperAddict/webpack-express
我将不胜感激,甚至建议您以更好的方式进行设置。预先谢谢你!
答案 0 :(得分:1)
以下是使用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",
希望有帮助