返回

告别缓慢构建,webpack3.x完美升级4.x

前端

在vue-cli3发布之前,使用vue-cli2构建的vue项目是基于webpack3.x的,伴随着项目的版本迭代,功能逐渐增多,文件也逐渐增多,打包时间从最初的4.5分钟,最久的时候17分钟。因为使用ts的缘故,每次打包ts-loader都需要去扫描所有的ts文件,再把它们转换成js,在这个过程中,也会进行一些语法检查,这也是比较耗时的。这个过程不仅仅是转换文件,其实它还会去做一些计算,比如说你用到了一些库里的一些模块,那它就会去找到这个库里具体给你用了哪个模块,然后把这个模块合并过来,它做了很多类似这种工作。

webpack4.x做了很多优化,它把各个loader分开,比如说html-loader,js-loader等等,每个loader单独运行,互不干扰,从而加快了构建速度。

webpack4.x还提供了一些新的特性,比如tree shaking,可以帮助我们去除代码中未使用的代码,从而减小打包后的体积。

如何将webpack3.x升级到4.x?

  1. 安装webpack4.x
npm install webpack@4.x
  1. 修改webpack配置

在webpack.config.js文件中,将webpack的版本号改为4.x,并添加一些新的配置项,比如:

module.exports = {
  mode: 'production',
  entry: './src/main.js',
  output: {
    filename: 'main.js',
    path: path.resolve(__dirname, 'dist')
  },
  plugins: [
    new CleanWebpackPlugin(['dist']),
    new HtmlWebpackPlugin({
      template: './public/index.html'
    })
  ],
  module: {
    rules: [
      {
        test: /\.js$/,
        loader: 'babel-loader'
      },
      {
        test: /\.css$/,
        use: [
          'style-loader',
          'css-loader'
        ]
      }
    ]
  }
};
  1. 运行webpack
npm run build
  1. 检查构建结果

在dist文件夹中,你会发现打包后的文件。

升级后的效果

升级到webpack4.x后,项目的构建时间从17分钟减少到4分钟,构建速度提升了4倍多。

总结

webpack4.x带来了很多新的特性和优化,可以帮助我们提高前端项目的构建性能。如果你还在使用webpack3.x,那么强烈建议你升级到webpack4.x。