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

时间:2019-03-06 18:39:50

标签: node.js webpack production webpack-4

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

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

1 个答案:

答案 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",

希望有帮助