解决vue打包报错Unexpected token: punc的问题


Posted in Javascript onOctober 24, 2020

项目中有一个功能模块是使用Vue写的,然后蛋疼的来了,写Vue的同事走了,今天需要改,懵逼状态啊,这是什么?代码还没看懂,就给我出了一个Exception。记录一下,蛋疼历程。

ERROR in static/js/app.33254a875dd731a0b538.js from UglifyJs

Unexpected token: punc (() [./src/mixin/mixin.js:6,8][static/js/app.33254a875dd731a0b538.js:13,19]

好看不?

各种百度啊,有人说,下载新的vue-cli,webpack项目,拷贝.babelrc文件到原项目根目录下

然后再百度,怎么下载vue-cli,更刺激的来了,根本看不懂,一堆cmd,对于一个小白来说,简直残忍啊。

最后找到了一个大神的回复,懒惰的我,当然选择粘贴复制嘞。

解决方案:

1.在工程目录下新建.babelrc文件,注意文件类型选择File就可以了

2.cv大法(懒人专用)

{
 "presets": [
 
  ["env", {
   "modules": false,
   "targets": {
    "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
   }
  }],
  "stage-2"
 ],
 "plugins": ["transform-runtime"],
 "env": {
  "test": {
   "presets": ["env", "stage-2"],
   "plugins": ["istanbul"]
  }
 }
}

3.此时npm run build, ok了。

贴个完整的图片:

解决vue打包报错Unexpected token: punc的问题

补充知识:webpack 打包时,代码压缩,删除console与注释

如下所示:

new webpack.optimize.UglifyJsPlugin({
      //删除注释
      output:{
        comments:false
      },
      //删除console 和 debugger 删除警告
      compress:{
        warnings:false,
        drop_debugger:true,
        drop_console:true
      }
    })

uglifyJsPlugin 用来对js文件进行压缩,减小js文件的大小。其会拖慢webpack的编译速度,建议开发环境时关闭,生产环境再将其打开。

vue cli 3.0中, 在vue.config.js中配置

configureWebpack:{
  optimization: {
   minimizer: [
    new UglifyJsPlugin({
     uglifyOptions: {
      // 删除注释
      output:{
       comments:false
      },
      // 删除console debugger 删除警告
      compress: {
       warnings: false,
       drop_console: true,//console
       drop_debugger: false,
       pure_funcs: ['console.log']//移除console
      }
     }
   })
  ]
  }
 }

运行出现报错 UglifyJs

DefaultsError: warnings is not a supported option

降低版本(使用 "uglifyjs-webpack-plugin": "^1.1.1"),打包正常,效果达到

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

Javascript 相关文章推荐
非常不错的功能强大代码简单的管理菜单美化版
Jul 09 Javascript
利用js获取服务器时间的两个简单方法
Jan 08 Javascript
推荐一款jQuery插件模板
Jan 09 Javascript
jQuery File Upload文件上传插件使用详解
Dec 06 Javascript
jQuery中页面返回顶部的方法总结
Dec 30 Javascript
微信小程序 限制1M的瘦身技巧与方法详解
Jan 06 Javascript
如何使用vuejs实现更好的Form validation?
Apr 07 Javascript
关于vue单文件中引用路径的处理方法
Jan 08 Javascript
axios+Vue实现上传文件显示进度功能
Apr 14 Javascript
微信小程序实现判断是分享到群还是个人功能示例
May 03 Javascript
node 文件上传接口的转发的实现
Sep 23 Javascript
vue实现的多页面项目如何优化打包的步骤详解
Jul 19 Javascript
解决vue项目axios每次请求session不一致的问题
Oct 24 #Javascript
解决vue中使用less/sass及使用中遇到无效的问题
Oct 24 #Javascript
vue中是怎样监听数组变化的
Oct 24 #Javascript
JSON stringify方法原理及实例解析
Oct 23 #Javascript
vue中使用腾讯云Im的示例
Oct 23 #Javascript
vue中使用router全局守卫实现页面拦截的示例
Oct 23 #Javascript
vue使用video插件vue-video-player详解
Oct 23 #Javascript
You might like
PHP检测用户是否关闭浏览器的方法
2016/02/14 PHP
HTML中嵌入PHP的简单方法
2016/02/16 PHP
PHP弱类型的安全问题详细总结
2016/09/25 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
使用IE的地址栏来辅助调试Web页脚本
2007/03/08 Javascript
如何用js控制css中的float的代码
2007/08/16 Javascript
JS 日期验证正则附asp日期格式化函数
2009/09/11 Javascript
常用的JavaScript WEB操作方法分享
2015/02/28 Javascript
javascript制作游戏开发碰撞检测的封装代码
2015/03/31 Javascript
AngularJS 入门教程之HTML DOM实例详解
2016/07/28 Javascript
基于Vuejs框架实现翻页组件
2020/06/29 Javascript
jQuery层级选择器实例代码
2017/02/06 Javascript
如何编写一个完整的Angular4 FormText 组件
2017/11/18 Javascript
vue实现简单的日历效果
2020/09/24 Javascript
jQuery实现form表单基于ajax无刷新提交方法实例代码
2019/11/04 jQuery
JS数组索引检测中的数据类型问题详解
2021/01/11 Javascript
[31:33]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第一场
2014/05/23 DOTA
动态创建类实例代码
2009/10/07 Python
Python单链表的简单实现方法
2014/09/23 Python
win系统下为Python3.5安装flask-mongoengine 库
2016/12/20 Python
TF-IDF与余弦相似性的应用(二) 找出相似文章
2017/12/21 Python
解决Pandas to_json()中文乱码,转化为json数组的问题
2018/05/10 Python
Python 类的特殊成员解析
2018/06/20 Python
在Pycharm中调试Django项目程序的操作方法
2019/07/17 Python
python将音频进行变速的操作方法
2020/04/08 Python
基于python实现模拟数据结构模型
2020/06/12 Python
python 实现的车牌识别项目
2021/01/25 Python
英国航空官网:British Airways
2016/09/11 全球购物
英国和爱尔兰最大的地毯零售商:Kukoon
2018/12/17 全球购物
开发中都用到了那些设计模式?用在什么场合?
2014/08/21 面试题
上海中网科技笔试题
2012/02/19 面试题
中文系学生自荐信范文
2013/11/13 职场文书
服务承诺书怎么写
2014/05/24 职场文书
总经理岗位职责说明书
2014/07/30 职场文书
担保书格式范文
2015/09/22 职场文书
MySQL数据库之内置函数和自定义函数 function
2022/06/16 MySQL