踩坑记

作者: niko_f697 | 来源:发表于2019-02-13 16:37 被阅读0次

    该篇文章记录踩过的坑

    1. uglifyjs-webpack-plugin压缩代码报punc (()错误
      网上查资料,说是uglifyjs不支持es6,由于是node_modules里面的包代码在babel没有编译,uglifyjs也没有编译,所以报错。
      我把.babelrc文件里面你的presets:["es2015"],并且把stage-2改为stage-1,仍然没有解决该问题。
      后来查到uglifyjs@3支持es6编译,所以在uglifyOptions里面设置了ecma:7,并使用了bababili,但是问题依然存在。
      后来在uglifyjs-webpack-plugin的issues里面查到很多人提出相应的bug,但是问题依然没有解决。将uflifyjs-webpack-plugin从2.1.1降到2.1.0版本也没有解决问题。
      最终通过两种方法解决了该问题:
    • 去掉uglifyjs-webpackl-plugin相关的配置(webpack4中mode设置为product后,webpack会自动压缩优化代码,无需手动配置压缩)
    optimization: {
      //...其他配置
      minimizer: [
        new uglifyjsPlugin({
          uglifyOptions: {
            ecma: 6
          }
        }) 
      ]
    }
    改为:
    optimization: {
      //...其他配置
    }
    
    • 用terser-webpack-plugin插件替代uglifyjs-webpack-plugin来压缩js
    optimization: {
        // ...其他配置
      minimizer: [
         new terserPlugin({
            terserOptions: {
              ecma: 6,
              compress: true
            }
        })
      ]
    }
    

    相关文章

      网友评论

          本文标题:踩坑记

          本文链接:https://www.haomeiwen.com/subject/oyedeqtx.html