Webpack高级学习:减少Babel生成文件的体积

Babel 为编译的每个文件都插入了辅助代码,使代码体积过大!

Babel 对一些公共方法使用了非常小的辅助代码,比如 _extend。默认情况下会被添加到每一个需要它的文件中。对于相同的辅助代码 Babel可能定义了n份

将这些辅助代码作为一个独立模块,来避免重复引入。

使用插件@babel/plugin-transform-runtime:

禁用了 Babel 自动对每个文件的 runtime 注入,而是引入 @babel/plugin-transform-runtime 并且使所有辅助代码从这里引用。

npm i @babel/plugin-transform-runtime -D

配置开发模式生产模式都可以做

 plugins: ["@babel/plugin-transform-runtime"], // 减少代码体积
 {
            test: /\.js$/,//处理的文件js吻技安
            //exclude: /node_modules/, // 排除node_modules文件不处理,不编译。这是第三方包,已经处理好了 不然会重复操作
            include: path.resolve(__dirname, "../src"), //只处理src文件
            use: [
              {
                loader: "babel-loader",//只用一个
                // options: {
                //   presets: ['@babel/preset-env']
                // }//直接写配置 或者外面写配置文件
                options: {
                  cacheDirectory: true, // 开启babel编译缓存
                  cacheCompression: false, // 缓存文件不要压缩,压缩需要时间 
                  plugins: ["@babel/plugin-transform-runtime"], // 减少代码体积
                },
              },
              {
                loader: "thread-loader", // 开启多进程
                options: {
                  workers: threads, // 数量
                },
              },

            ]
          },

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值