vue-cli 打包后提交到线上出现 "Uncaught SyntaxError:Unexpected token" 报错


Posted in Javascript onNovember 06, 2018

前言: 项目使用vue-cli版本2.9.3 ,vue-router使用webpackChunkName实现按需加载.

vue-cli 打包后提交到线上出现 "Uncaught SyntaxError:Unexpected token" 报错

BUG描述:该报错在项目上线一段时间后,有用户反映页面无法正常游览 (后面以问题1/问题2区分)

问题1.导航点击无法正常跳转,console打印:Error:Loading chunk {n} failed.

报错截图vue-cli 打包后提交到线上出现 "Uncaught SyntaxError:Unexpected token" 报错

问题2.页面全白,console打印:Uncaught SyntaxError:Unexpected token <

报错截图: vue-cli 打包后提交到线上出现 &quot;Uncaught SyntaxError:Unexpected token&quot; 报错

经过一番折腾,初步定位问题1在经过build/webpack.prod.conf.jschunkhash打包后的JS文件hash值会有变更,因为每次更新代码到线上都会删除旧的dist目录,将最新的dist目录copy上传提供后台更新. 在更新代码的这个过程用户停留在页面上,当用户在更新完后重新操作就会导致报错

vue-cli 打包后提交到线上出现 &quot;Uncaught SyntaxError:Unexpected token&quot; 报错

问题1解决方法:捕获路由报错. (思路来源:https://3water.com/article/147427.htm)

routers.onError((err) => {
 const pattern = /Loading chunk (\d)+ failed/g;
 const isChunkLoadFailed = err.message.match(pattern);
 if (isChunkLoadFailed) {
  let chunkBool = sessionStorage.getItem('chunkError');
  let nowTimes = Date.now();
  if (chunkBool === null || chunkBool && nowTimes - parseInt(chunkBool) > 60000) {//路由跳转报错,href手动跳转
   sessionStorage.setItem('chunkError', 'reload');
   const targetPath = routers.history.pending.fullPath;
   window.location.href = window.location.origin + targetPath;
  }else if(chunkBool === 'reload'){ //手动跳转后依然报错,强制刷新
   sessionStorage.setItem('chunkError', Date.now());
   window.location.reload(true);
  }
 }
})

问题2在Network查看js文件加载的时候发现某个js文件Response Headercontent-type异常,正常情况返回content-type: application/javascript. 但是有一个js响应的内容为HTML, js无法识别<符号导致抛出报错

vue-cli 打包后提交到线上出现 &quot;Uncaught SyntaxError:Unexpected token&quot; 报错

vue-cli 打包后提交到线上出现 &quot;Uncaught SyntaxError:Unexpected token&quot; 报错

问题2目前还在与后台商量如何解决,解决后会更新解决方法分享.有同学遇到同样的问题可以一起讨论或提出更好的解决方案参考学习.★★★

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js中有关IE版本检测
Jan 04 Javascript
JavaScript基本语法讲解
Jun 03 Javascript
javascript的document中的动态添加标签实现方法
Oct 24 Javascript
js滚轮事件兼容性问题需要注意哪些
Nov 15 Javascript
火狐和ie下获取javascript 获取event的方法(推荐)
Nov 26 Javascript
教你一步步用jQyery实现轮播器
Dec 18 Javascript
JQ中$(window).load和$(document).ready区别与执行顺序
Mar 01 Javascript
用React-Native+Mobx做一个迷你水果商城APP(附源码)
Dec 25 Javascript
angular4中引入echarts的方法示例
Jan 29 Javascript
layer.open回调获取弹出层参数的实现方法
Sep 10 Javascript
微信小程序左滑删除实现代码实例
Sep 16 Javascript
vue 使用 v-model 双向绑定父子组件的值遇见的问题及解决方案
Mar 01 Vue.js
100行代码实现一个vue分页组功能
Nov 06 #Javascript
微信小程序自定义tabBar组件开发详解
Sep 24 #Javascript
Vue递归实现树形菜单方法实例
Nov 06 #Javascript
electron中使用bootstrap的示例代码
Nov 06 #Javascript
vue实现自定义日期组件功能的实例代码
Nov 06 #Javascript
浅谈Vue数据响应思路之数组
Nov 06 #Javascript
Vue项目中最新用到的一些实用小技巧
Nov 06 #Javascript
You might like
PHP也可以?成Shell Script
2006/10/09 PHP
php 分页原理详解
2009/08/21 PHP
php格式化日期实例分析
2014/11/12 PHP
PHP截取指定图片大小的方法
2014/12/10 PHP
php控制文件下载速度的方法
2015/03/24 PHP
PHP面向对象程序设计中的self、static、parent关键字用法分析
2019/08/14 PHP
关于PHP5.6+版本“No input file specified”问题的解决
2019/12/11 PHP
摘自启点的main.js
2008/04/20 Javascript
json2.js的初步学习与了解
2011/10/06 Javascript
jQuery如何实现点击页面获得当前点击元素的id或其他信息
2014/01/09 Javascript
javascript页面渲染速度测试脚本分享
2014/04/15 Javascript
html文本框提示效果的示例代码
2014/06/28 Javascript
Javascript 拖拽的一些高级的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
jQuery给元素添加样式的方法详解
2015/12/30 Javascript
WEB 前端开发中防治重复提交的实现方法
2016/10/26 Javascript
jQuery中的on与bind绑定事件区别实例详解
2017/02/28 Javascript
微信小程序中用WebStorm使用LESS
2017/03/08 Javascript
如何通过非数字与字符的方式实现PHP WebShell详解
2017/07/02 Javascript
Angular中点击li标签实现更改颜色的核心代码
2017/12/08 Javascript
js中DOM事件绑定分析
2018/03/18 Javascript
详解Vue中的scoped及穿透方法
2019/04/18 Javascript
Vue——解决报错 Computed property &quot;****&quot; was assigned to but it has no setter.
2020/12/19 Vue.js
Python抓取Discuz!用户名脚本代码
2013/12/30 Python
简单介绍Python中的floor()方法
2015/05/15 Python
Python 多线程,threading模块,创建子线程的两种方式示例
2019/09/29 Python
Python上下文管理器全实例详解
2019/11/12 Python
基于jupyter代码无法在pycharm中运行的解决方法
2020/04/21 Python
CSS+jQuery实现的在线答题功能
2015/04/25 HTML / CSS
基于html和CSS3制作酷炫的导航栏
2015/09/23 HTML / CSS
个人评价范文分享
2014/01/11 职场文书
大学生志愿者感言
2014/01/15 职场文书
《和我们一样享受春天》教学反思
2014/02/07 职场文书
出纳员的岗位职责
2014/02/22 职场文书
2014国庆节标语口号
2014/09/19 职场文书
党员干部公开承诺书范文
2015/04/27 职场文书
使用python绘制横竖条形图
2022/04/21 Python