+
95
-

如何提高webpack的打包速度?

如何提高webpack的打包速度?

网友回复

+
15
-

提高 Webpack 的打包速度可以通过多种方式来实现,包括优化配置、利用缓存、并行和增量编译等。以下是一些有效的方法和技巧:

1. 优化 Loader

使用 include/exclude:减少 Loader 处理的文件数量,确保 Loader 只处理必要的文件。

module: {
  rules: [
    {
      test: /\.js$/,
      exclude: /node_modules/,
      use: 'babel-loader'
    }
  ]
}

使用缓存:一些 Loader(如 babel-loader)支持缓存,可以通过设置缓存来加速编译过程。

module: {
  rules: [
    {
      test: /\.js$/,
      exclude: /node_modules/,
      use: {
        loader: 'babel-loader',
        options: {
          cacheDirectory: true
        }
      }
    }
  ]
}
2. 优化 Plugins

压缩插件:使用压缩插件(如 TerserPlugin)时,可以配置缓存和并行处理。

const TerserPlugin = require('terser-webpack-plugin');

module.exports = {
  optimization: {
    minimize: true,
    minimizer: [new TerserPlugin({
      cache: true,
      parallel: true,
      terserOptions: {
        compress: {
          drop_console: true
        }
      }
    })]
  }
}

清理无用插件:检查并移除不必要的插件,避免增加编译时间。

3. 使用多线程/多进程

thread-loader:可以让某些 Loader 运行在单独的 worker pool 中。

module: {
  rules: [
    {
      test: /\.js$/,
      include: /src/,
      use: [
        'thread-loader',
        'babel-loader'
      ]
    }
  ]
}

parallel-webpack:允许并行化 Webpack 构建。

4. 缓存

HardSourceWebpackPlugin:为模块提供中间缓存,减少构建时间。

const HardSourceWebpackPlugin = r...

点击查看剩余70%

我知道答案,我要回答