laravel-mix下webpack打包es6报错UglifyJs + Unexpected token punc 解决

发布时间:2019-08-09 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了laravel-mix下webpack打包es6报错UglifyJs + Unexpected token punc 解决脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

项目中有块功能用Vue+laravel-mix方式,引入了第三方组件库element-ui(饿了么),dev方式可以正常编译,可等到生产环境(PRod)时一直编译不通过。

laravel-mix下webpack打包es6报错UglifyJs + Unexpected token punc 解决


初步分析是由于element-ui组件库存在ES6代码,UglifyJs无法做压缩引起,百度下解决方式

laravel-mix下webpack打包es6报错UglifyJs + Unexpected token punc 解决


尝试了下还是没用。难道babel没有对node_module下的模块下进行编译?


研究了下laravel-mix的

laravel-mix下webpack打包es6报错UglifyJs + Unexpected token punc 解决


原来在webpack-rules.js中关于babel编译的rule中过滤了node_modules ,再去laravel官网查看自定义rule的方式:

laravel-mix下webpack打包es6报错UglifyJs + Unexpected token punc 解决

package同级目录下的webpack.mix.js中加上这段:

mix.webpackconfig({
  module: {
    rules: [
      {
        test: /.jsx?$/,
        include: /(node_modules/element-ui)/,
        use: [
          {
            loader: 'babel-loader',
            options: {
              presets: 'vue-app',
              plugins: [
                ["component", [
                  {
                    "libraryName": "element-ui",
                    "styleLibraryName": "theme-default"
                  }
                ]],"transform-vue-jsx"]
            }
          }
        ]
      },
    ]
  }
});

最后编译:

laravel-mix下webpack打包es6报错UglifyJs + Unexpected token punc 解决


laravel-mix下webpack打包es6报错UglifyJs + Unexpected token punc 解决

正如预期,报错不在出现,编译通过~!


总结: laravel-mix方式给webpack配置带来便利,但还是有一定的门槛,对于我这种刚尝试用vue+webpack做项目的新手有一定的难度!

脚本宝典总结

以上是脚本宝典为你收集整理的laravel-mix下webpack打包es6报错UglifyJs + Unexpected token punc 解决全部内容,希望文章能够帮你解决laravel-mix下webpack打包es6报错UglifyJs + Unexpected token punc 解决所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。