【问题标题】:webpack won't set to production. Defaults to developmentwebpack 不会投入生产。默认为开发
【发布时间】:2019-07-28 12:43:31
【问题描述】:

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

我会很感激任何帮助,甚至是关于更好的设置方法的建议。提前谢谢!

【问题讨论】:

    标签: node.js webpack production webpack-4


    【解决方案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",
    

    希望有所帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-01
      • 1970-01-01
      • 2015-01-18
      • 2013-04-24
      • 1970-01-01
      • 2015-05-24
      • 2014-10-19
      • 1970-01-01
      相关资源
      最近更新 更多