记webpack发布版本遇到的疑惑

webpack发布版本,

发现生成了二十几个[编号].build.js,一个build.js。每个文件都不大,最大的才16kb。

 

这与我理想的不符合,理想中,应该是只生成不超过10个吧。

 

不然要每个引入?

 

后来发现,原来只需要引入build.js即可,后面的js会按需引入其他编号的build.js.

 

另外一点是,因为在webpack.config.js中使用了

 
optimization = {
    splitChunks: {
      cacheGroups: {
        vendor: {
          chunks: "initial",
          test: path.resolve(process.cwd(), "node_modules"),
          name: "vendor",
          enforce: true
        },
      }
    }
  }

  

导致发布的时候,部分代码会缓存起来,导致生成的js代码不正常,系统无法使用。

 

所以,需要把这段配置在build的时候去掉。

根据执行环境进行配置是最佳的选择。

if ('development' == process.env.NODE_ENV) {
  module.exports.mode = "development";
  module.exports.optimization = {
    splitChunks: {
      cacheGroups: {
        vendor: {
          chunks: "initial",
          test: path.resolve(process.cwd(), "node_modules"),
          name: "vendor",
          enforce: true
        },
      }
    }
  }
  console.info('当前版本为开发环境...');
}

  

posted @ 2019-03-05 16:07  狂乱贵公子  阅读(135)  评论(0编辑  收藏  举报