解决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 相关文章推荐
Jquery在IE7下无法使用 $.ajax解决方法
Nov 11 Javascript
使用JQuery进行跨域请求
Jan 25 Javascript
很棒的学习jQuery的12个网站推荐
Apr 28 Javascript
node.js中的path.normalize方法使用说明
Dec 08 Javascript
实例讲解jQuery EasyUI tree中state属性慎用
Apr 01 Javascript
JS两种类型的表单提交方法实例分析
Nov 28 Javascript
setTimeout时间设置为0详细解析
Mar 13 Javascript
Vue微信项目按需授权登录策略实践思路详解
May 07 Javascript
通过webpack引入第三方库的方法
Jul 20 Javascript
使用JavaScript实现node.js中的path.join方法
Aug 12 Javascript
原生JS实现pc端轮播图效果
Dec 21 Javascript
vue项目多环境配置(.env)的实现
Jul 21 Vue.js
解决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侧拉菜单 漂亮,可以向右或者向左展开,支持FF,IE
2009/10/15 PHP
php object转数组示例
2014/01/15 PHP
php中preg_replace_callback函数简单用法示例
2016/07/21 PHP
jquery 操作单选框,复选框,下拉列表实现代码
2009/10/27 Javascript
原生javascript实现图片弹窗交互效果
2015/01/12 Javascript
JavaScript中split() 使用方法汇总
2015/04/17 Javascript
JS+CSS实现大气清新的滑动菜单效果代码
2015/10/22 Javascript
JavaScript基础知识之方法汇总结
2016/01/24 Javascript
jquery实现ajax加载超时提示的方法
2016/07/23 Javascript
ES6新特征数字、数组、字符串
2016/10/01 Javascript
Bootstrap下拉菜单Dropdowns的实现代码
2017/03/17 Javascript
基于 Bootstrap Datetimepicker 联动
2017/08/03 Javascript
关于vue.extend和vue.component的区别浅析
2017/08/16 Javascript
AngularJS 多指令Scope问题的解决
2018/10/25 Javascript
Node.js创建一个Express服务的方法详解
2020/01/06 Javascript
vue-router重写push方法,解决相同路径跳转报错问题
2020/08/07 Javascript
prettier自动格式化去换行的实现代码
2020/08/25 Javascript
[01:45]DOTA2新英雄“神谕者”全方位展示
2014/11/21 DOTA
Python的lambda匿名函数的简单介绍
2013/04/25 Python
在Python的Django框架上部署ORM库的教程
2015/04/20 Python
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
2016/06/29 Python
Python爬虫代理IP池实现方法
2017/01/05 Python
简单实现python进度条脚本
2017/12/18 Python
Pandas读写CSV文件的方法示例
2019/03/27 Python
Django使用redis缓存服务器的实现代码示例
2019/04/28 Python
Maje德国官网:法国女性成衣品牌
2017/02/10 全球购物
Sephora丝芙兰泰国官方网站:国际知名化妆品购物
2017/11/15 全球购物
美国知名眼镜网站:Target Optical
2020/04/04 全球购物
物流合作计划书
2014/01/10 职场文书
党员个人对照检查材料思想汇报
2014/09/16 职场文书
学校副校长四风对照检查材料整改措施
2014/09/25 职场文书
大学运动会通讯稿
2015/07/18 职场文书
2016读书月活动心得体会
2016/01/14 职场文书
素质教育学习心得体会
2016/01/19 职场文书
你真的了解redis为什么要提供pipeline功能
2021/06/22 Redis
Oracle删除归档日志及添加定时任务
2022/06/28 Oracle