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 相关文章推荐
用javascript连接access数据库的方法
Nov 17 Javascript
15款优秀的jQuery导航菜单插件分享
Jul 19 Javascript
JavaScript在多浏览器下for循环的使用方法
Nov 07 Javascript
Javascript中的for in循环和hasOwnProperty结合使用
Jun 05 Javascript
node.js中的buffer.write方法使用说明
Dec 10 Javascript
javascript实现详细时间提醒信息效果的方法
Mar 11 Javascript
JavaScript编写简单的计算器
Nov 25 Javascript
轻松掌握jQuery中wrap()与unwrap()函数的用法
May 24 Javascript
Vue-Cli中自定义过滤器的实现代码
Aug 12 Javascript
JavaScript中字符串的常用操作方法及特殊字符
Mar 18 Javascript
跟混乱的页面弹窗说再见
Apr 11 Javascript
原生js基于canvas实现一个简单的前端截图工具代码实例
Sep 10 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文件的实现方法
2007/03/19 PHP
Thinkphp中的volist标签用法简介
2014/06/18 PHP
使用PHP编写发红包程序
2015/07/22 PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
2017/10/26 PHP
PHP中散列密码的安全性分析
2019/07/26 PHP
利用jquery的获取JS文件中的字符串内容
2012/02/14 Javascript
基于MVC3方式实现下拉列表联动(JQuery)
2013/09/02 Javascript
js动画效果制件让图片组成动画代码分享
2014/01/14 Javascript
javascript写的异步加载js文件函数(支持数组传参)
2014/06/07 Javascript
基于jQuery实现select下拉选择可输入附源码下载
2016/02/03 Javascript
超漂亮的Bootstrap 富文本编辑器summernote
2016/04/05 Javascript
浅谈js构造函数的方法与原型prototype
2016/07/04 Javascript
HTML5基于Tomcat 7.0实现WebSocket连接并实现简单的实时聊天
2016/10/31 Javascript
Angular简单验证功能示例
2017/12/22 Javascript
web3.js增加eth.getRawTransactionByHash(txhash)方法步骤
2018/03/15 Javascript
Vue中错误图片的处理的实现代码
2019/11/07 Javascript
JS 事件机制完整示例分析
2020/01/15 Javascript
[01:02:30]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第三场 8.22
2019/09/05 DOTA
Python简单定义与使用字典dict的方法示例
2017/07/25 Python
python检测空间储存剩余大小和指定文件夹内存占用的实例
2018/06/11 Python
python3反转字符串的3种方法(小结)
2019/11/07 Python
WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用?
2015/08/25 面试题
建筑施工实习自我鉴定
2013/09/19 职场文书
我的网上商城创业计划书
2013/12/26 职场文书
电脑租赁公司创业计划书
2014/01/08 职场文书
应届毕业生简历自我评价
2014/01/31 职场文书
迎国庆横幅标语
2014/10/08 职场文书
作风建设整改方案
2014/10/27 职场文书
道路交通事故人身损害赔偿协议书
2014/11/19 职场文书
高考作弊检讨书1500字
2015/02/16 职场文书
2015年食品安全工作总结
2015/05/15 职场文书
2015人事行政工作总结范文
2015/05/21 职场文书
2016年助残日旅游活动总结
2016/04/01 职场文书
如何用Navicat操作MySQL
2021/05/12 MySQL
go语言中http超时引发的事故解决
2021/06/02 Golang
详解Python为什么不用设计模式
2021/06/24 Python