webpack不会投入生产。 默认为开发

问题描述 投票:0回答:1

我迷路了。 我一直在关注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

我将不胜感激,甚至建议您以更好的方式进行此设置。 先感谢您!

node.js webpack production webpack-4
1个回答
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",

希望对您有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.