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 相关文章推荐
ECMAScript 基础知识
Jun 29 Javascript
javascript Ext JS 状态默认存储时间
Feb 15 Javascript
js实现类似jquery里animate动画效果的方法
Apr 10 Javascript
Vuex之理解Store的用法
Apr 19 Javascript
js实现带进度条提示的多视频上传功能
Dec 13 Javascript
angularJS的radio实现单项二选一的使用方法
Feb 28 Javascript
详解JavaScript中操作符和表达式
Sep 12 Javascript
vue实现后台管理权限系统及顶栏三级菜单显示功能
Jun 19 Javascript
vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信
Aug 15 Javascript
layui: layer.open加载窗体时出现遮罩层的解决方法
Sep 26 Javascript
vue动态设置页面title的方法实例
Aug 23 Javascript
微信小程序:报错(in promise) MiniProgramError
Oct 30 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破解防盗链图片的一个简单方法
2014/06/07 PHP
PHP生成等比缩略图类和自定义函数分享
2014/06/25 PHP
jquery获得页面元素的坐标值实现思路及代码
2013/04/15 Javascript
javascript解决innerText浏览器兼容问题思路代码
2013/05/17 Javascript
jquery动态添加删除div 具体实现
2013/07/20 Javascript
往光标所在位置插入值的js代码
2013/09/22 Javascript
JavaScript var声明变量背后的原理示例解析
2013/10/12 Javascript
利用try-catch判断变量是已声明未声明还是未赋值
2014/03/12 Javascript
JQuery动画与特效实例分析
2015/02/02 Javascript
jquery实现从数组移除指定的值
2015/06/24 Javascript
在其他地方你学不到的jQuery小贴士和技巧(欢迎收藏)
2016/01/20 Javascript
Jquery为DIV添加click事件的简单实例
2016/06/02 Javascript
前端JS面试中常见的算法问题总结
2016/12/23 Javascript
关于angular js_$watch监控属性和对象详解
2017/04/24 Javascript
微信小程序自定义底部导航带跳转功能
2018/11/27 Javascript
JavaScript之数组扁平化详解
2019/06/03 Javascript
微信小程序Echarts覆盖正常组件问题解决
2019/07/13 Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
2019/09/05 Javascript
JS实现多功能计算器
2020/10/28 Javascript
[47:42]Fnatic vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
构建Python包的五个简单准则简介
2015/06/15 Python
如何使用python爬取csdn博客访问量
2016/02/14 Python
Python自定义类的数组排序实现代码
2016/08/28 Python
python常见的格式化输出小结
2016/12/15 Python
python获取网页中所有图片并筛选指定分辨率的方法
2018/03/31 Python
selenium+python自动化测试之多窗口切换
2019/01/23 Python
在 Python 中使用 7zip 备份文件的操作
2020/12/11 Python
Pretty Little Thing爱尔兰:时尚女性服饰
2017/03/27 全球购物
硅酸盐工业控制专业应届生求职信
2013/11/02 职场文书
应届生简历中的自我评价
2014/01/13 职场文书
《那片绿绿的爬山虎》教学反思
2014/02/27 职场文书
项目合作协议书
2014/04/16 职场文书
群众路线教育实践活动调研报告
2014/11/03 职场文书
岳麓书院导游词
2015/02/03 职场文书
高中生军训感言
2015/08/01 职场文书
使用Bandicam录制鼠标指针并附带点击声音,还可以添加点击动画效果
2022/04/11 数码科技