项目变的庞大,文件很多的情况下,采取多进程打包

  • 如果小项目,文件不多,无需开启多进程打包,反而会变慢,因为开启进程是需要花费时间的

多进程打包:

1 安装 thread-loader
npm i thread-loader -D

配置如下:

    module.exports = {
      entry: './src/js/index.js',
      output: {
        filename: 'js/built.[contenthash:10].js',
        path: resolve(__dirname, 'build')
      },
      module: {
        rules: [
              {
                test: /\.js$/,
                exclude: /node_modules/,
                use: [
                  /* 
                    开启多进程打包。 
                    进程启动大概为600ms,进程通信也有开销。
                    只有工作消耗时间比较长,才需要多进程打包
                  */
                  {
                    loader: 'thread-loader',
                    options: {
                      workers: 2 // 进程2个
                    }
                  },
                  {
                    loader: 'babel-loader',
                    options: {
                      presets: [
                        [
                          '@babel/preset-env',
                          {
                            useBuiltIns: 'usage',
                            corejs: { version: 3 },
                            targets: {
                              chrome: '60',
                              firefox: '50'
                            }
                          }
                        ]
                      ],
                      // 开启babel缓存
                      // 第二次构建时,会读取之前的缓存
                      cacheDirectory: true
                    }
                  }
                ]
              }
        ]
      }

  

posted on 2020-12-04 11:34  ygunoil  阅读(1137)  评论(0编辑  收藏  举报