vue 解决uglifyjs-webpack-plugin打包出现报错的问题


Posted in Javascript onAugust 04, 2020

楼主最新对已做项目进行打包优化,配置了打包环境下去除console.log语句插件---使用uglifyjs-webpack-plugin

具体代码如下

npm install uglifyjs-webpack-plugin -D
const UglifyJsPlugin = require('uglifyjs-webpack-plugin')

configureWebpack: config => {
    if (isProduction) {
      config.plugins = config.plugins.concat(
        [
          new UglifyJsPlugin({
            uglifyOptions: {
              compress: {
                warnings: false,
                drop_debugger: true,
                drop_console: true,
              },
            },
            sourceMap: false,
            parallel: true,
          })

        ]
      )
    }

然后打包发现报错

vue 解决uglifyjs-webpack-plugin打包出现报错的问题

⠧ Building for production...

 ERROR Failed to compile with 1 errors                                                     上午10:10:12

 error

assets/js/about.e1f1ea37.js from UglifyJs
Unexpected token: keyword (const) [assets/js/about.e1f1ea37.js:13062,0]

 ERROR Build failed with errors.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! thua@0.1.0 build: `vue-cli-service build --mode production`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the thua@0.1.0 build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!   /Users/chenya/.npm/_logs/2019-01-15T02_10_12_281Z-debug.log

把new UglifyJsPlugin插件注释掉即可成功打包。

但是,楼主我一点都不乐意,凭啥不让我用UglifyJsPlugin插件!

于是不求人的我开始上网查资料,搜索Unexpected token: keyword (const),搜索列表点第一个进去看,大致说是因为项目有的文件没有es6转es5,即还存在const变量名。

????(黑人问号)。我的vue配置是自动用babel把es6转es5的呀,搞锤子呢。

于是脑洞回想一下,是不是哪里有文件打包进去没有用到babel???

咦。。。。。。。是不是,。。那个。。。。node_modules下的依赖。。。。。

再仔细想想,看看代码。。。。。有一个animejs(用于动效)、还有一个vue-particles (canvas用于登录页背景特效)

找到问题了,下一步就是如何显示的把node_modules下的依赖用babel 转译。

楼主用的vue-cli3脚手架,翻山越岭的查找vue-cli3的官方资料,终于找到你。。。。。

transpileDependencies

transpileDependencies

Type: Array<string | RegExp>

Default: []

默认情况下 babel-loader 会忽略所有 node_modules 中的文件。如果你想要通过 Babel 显式转译一个依赖,可以在这个选项中列出来。

还好我没放弃~~~~

transpiledependencies参数接受一个数组,数组里可以是字符串也可以正则表达式。

附上楼主的配置

transpileDependencies: [
    'vue-particles',
    'animejs'
  ],

完美解决~

vue 解决uglifyjs-webpack-plugin打包出现报错的问题

开开心心下班回家~~~~~

2020年06月11日08:57:07 更新

楼主已弃用 uglifyjs-webpack-plugin 插件啦。现在用的是 terser-webpack-plugin

vue 解决uglifyjs-webpack-plugin打包出现报错的问题

以上这篇vue 解决uglifyjs-webpack-plugin打包出现报错的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
代码生成器 document.write()
Apr 15 Javascript
HTML node相关的一些资料整理
Jan 01 Javascript
javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)
Jul 04 Javascript
使用Js让Html中特殊字符不被转义
Nov 05 Javascript
js原型链与继承解析(初体验)
May 09 Javascript
jQuery实例—选项卡的简单实现(js源码和jQuery)
Jun 14 Javascript
ES6中的数组扩展方法
Aug 26 Javascript
vue.js父组件使用外部对象的方法示例
Apr 25 Javascript
详解tween.js的使用教程
Sep 14 Javascript
vue的安装及element组件的安装方法
Mar 09 Javascript
解决iview多表头动态更改列元素发生的错误的方法
Nov 02 Javascript
React四级菜单的实现
Apr 08 Javascript
浅谈在vue-cli3项目中解决动态引入图片img404的问题
Aug 04 #Javascript
解决vuecli3中img src 的引入问题
Aug 04 #Javascript
简介JavaScript错误处理机制
Aug 04 #Javascript
vue 出现data-v-xxx的原因及解决
Aug 04 #Javascript
elementui更改el-dialog关闭按钮的图标d的示例代码
Aug 04 #Javascript
vue 实现根据data中的属性值来设置不同的样式
Aug 04 #Javascript
解决Vue中使用keepAlive不缓存问题
Aug 04 #Javascript
You might like
php文件上传的简单实例
2013/10/19 PHP
PHP将数据导出Excel表中的实例(投机型)
2017/07/31 PHP
jQuery 表单验证扩展(三)
2010/10/20 Javascript
javascript加号&quot;+&quot;的二义性说明
2013/03/04 Javascript
Js操作树节点自动折叠展开的几种方法
2014/05/05 Javascript
把Node.js程序加入服务实现随机启动
2015/06/25 Javascript
浅谈JavaScript中的string拥有方法的原因
2015/08/28 Javascript
javascript中select下拉框的用法总结
2016/01/07 Javascript
javascript+css3 实现动态按钮菜单特效
2016/02/06 Javascript
AngularJS 2.0新特性有哪些
2016/02/18 Javascript
JavaScript实现一个空中避难的小游戏
2017/06/06 Javascript
Three.js基础学习教程
2017/11/16 Javascript
javascript高仿热血传奇游戏实现代码
2018/02/22 Javascript
浅谈JS对象添加getter与setter的5种方法
2018/06/09 Javascript
js使用formData实现批量上传
2020/03/27 Javascript
关于ckeditor在bootstrap中modal中弹框无法输入的解决方法
2019/09/11 Javascript
JS 事件机制完整示例分析
2020/01/15 Javascript
vue实现员工信息录入功能
2020/06/11 Javascript
如何在selenium中使用js实现定位
2020/08/18 Javascript
[54:28]EG vs OG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
python list转dict示例分享
2014/01/28 Python
Python发送邮件测试报告操作实例详解
2018/12/08 Python
Python3.0中普通方法、类方法和静态方法的比较
2019/05/03 Python
FFrpc python客户端lib使用解析
2019/08/24 Python
Python lambda表达式filter、map、reduce函数用法解析
2019/09/11 Python
python模块和包的应用BASE_PATH使用解析
2019/12/14 Python
如何使用Pytorch搭建模型
2020/10/26 Python
Finishline官网:美国一家领先的运动品牌鞋类、服装零售商
2016/07/20 全球购物
Piercing Pagoda官网:耳环、戒指、项链、手链等
2020/09/28 全球购物
毕业生物理教师求职信
2013/10/17 职场文书
会计专业自荐信
2013/12/02 职场文书
初中英语教学反思
2014/01/25 职场文书
迎新生晚会主持词
2015/06/30 职场文书
2015教师节通讯稿
2015/07/20 职场文书
俄罗斯十大城市人口排名,第三首都仅排第六,第二是北方首都
2022/03/20 杂记
mysql5.5中文乱码问题解决的有用方法
2022/05/30 MySQL