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 相关文章推荐
jquery实现图片随机排列的方法
May 04 Javascript
jquery动感漂浮导航菜单代码分享
Apr 15 Javascript
JavaScript 基础函数_深入剖析变量和作用域
May 18 Javascript
聊一聊JS中this的指向问题
Jun 17 Javascript
Bootstrap Validator 表单验证
Jul 25 Javascript
bootstrap配合Masonry插件实现瀑布式布局
Jan 18 Javascript
AngularJS实现注册表单验证功能
Oct 16 Javascript
Webpack框架核心概念(知识点整理)
Dec 22 Javascript
Node.Js中实现端口重用原理详解
May 03 Javascript
Node.js net模块功能及事件监听用法分析
Jan 05 Javascript
vue 框架下自定义滚动条(easyscroll)实现方法
Aug 29 Javascript
vue项目中使用vue-layer弹框插件的方法
Mar 11 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
一个用php3编写的简单计数器
2006/10/09 PHP
PHP语法速查表
2007/01/02 PHP
php 修改、增加xml结点属性的实现代码
2013/10/22 PHP
CI框架学习笔记(二) -入口文件index.php
2014/10/27 PHP
PHP防止注入攻击实例分析
2014/11/03 PHP
PHP实现的用户注册表单验证功能简单示例
2019/02/25 PHP
PHP实现倒计时功能
2020/11/16 PHP
JavaScript实现的购物车效果可以运用在好多地方
2014/05/09 Javascript
jQuery左右滚动支持图片放大缩略图图片轮播代码分享
2015/08/26 Javascript
JavaScript简单实现弹出拖拽窗口(二)
2016/06/17 Javascript
js 判断各种数据类型的简单方法(推荐)
2016/08/29 Javascript
vue-router跳转页面的方法
2017/02/09 Javascript
Vue中fragment.js使用方法详解
2017/03/09 Javascript
JavaScript你不知道的一些数组方法
2017/08/18 Javascript
利用百度地图API获取当前位置信息的实例
2017/11/06 Javascript
Vuejs中使用markdown服务器端渲染的示例
2017/11/22 Javascript
vue2.0 + ele的循环表单及验证字段方法
2018/09/18 Javascript
使用puppeteer爬取网站并抓出404无效链接
2018/12/20 Javascript
vue中过滤器filter的讲解
2019/01/21 Javascript
vue 函数调用加括号与不加括号的区别
2020/10/29 Javascript
python中requests使用代理proxies方法介绍
2017/10/25 Python
Django 多环境配置详解
2019/05/14 Python
浅析python内置模块collections
2019/11/15 Python
python中的django是做什么的
2020/07/31 Python
Python 日期与时间转换的方法
2020/08/01 Python
Django跨域请求原理及实现代码
2020/11/14 Python
HolidayLettings英国:预订最好的度假公寓、别墅和自助式住宿
2019/08/27 全球购物
小学毕业感言500字
2014/02/28 职场文书
乡镇领导干部个人对照检查材料思想汇报
2014/09/23 职场文书
检讨书怎么写
2015/05/07 职场文书
交通事故调解协议书
2015/05/20 职场文书
淮海战役观后感
2015/06/11 职场文书
2015年“我们的节日·中秋节”活动总结
2015/07/30 职场文书
小程序实现悬浮按钮的全过程记录
2021/10/16 HTML / CSS
如何vue使用el-table遍历循环表头和表体数据
2022/04/26 Vue.js
Python代码实现双链表
2022/05/25 Python