VUE 项目在IE11白屏报错 SCRIPT1002: 语法错误的解决


Posted in Javascript onSeptember 27, 2020

问题现象

项目使用vue/cli3脚手架搭建的前端项目,vue版本为2.6.10。

browserslist的配置如下:

[ "> 1%", "last 2 versions"]

但开发环境的IE11打开显示白屏,F12打开显示:

VUE 项目在IE11白屏报错 SCRIPT1002: 语法错误的解决

分析过程

5306行显示 "./node_modules/_debug@4.1.1@debug/src/browser.js"这个路径报错,由于eval()包含的代码中有ES6的语法,IE不支持,查了网上很多资料都说使用babel-polyfill来解决。

现象一:IE不支持ES6语法

  • Vuex requires a Promise polyfill in this browser
  • "“Promise”未定义"

以上现象为IE不支持Promise,即不支持ES6语法。出现IE白屏和报SCRIPT1002错误的大都是此原因。当前处理起来也比较简单,网上大部份资源都可以找到解决方案,就是使用babel-polyfill。

首先安装babel-polyfill

npm install --save-dev babel-polyfill

然后在babel.config.js修改presets,内容如下:

// presets: [["@vue/app", {useBuiltIns: "entry",}]],// 此为vue/cli3
presets: [["@vue/cli-plugin-babel/preset", {useBuiltIns: "entry",}]],// 此为vue/cli4

解决方法一

main.js的第一行引入:

import 'babel-polyfill';

解决方法二:
vue cli官方推荐使用,前提是package.json安装了core-js:

import 'core-js/stable';import 'regenerator-runtime/runtime';

解决方法三:
在vue.config.js里添加如下代码:

configureWebpack: config => { config.entry.app = ["babel-polyfill", "./src/main.js"]; },

现象二:第三方插件引入导致

由于项目使用了长连接库socket.io-client和vue-socket.io-extended,在main.js是中使用方法是:

import VueSocketIOExt from 'vue-socket.io-extended';
import io from 'socket.io-client';
const socket = io(process.env.VUE_APP_IO_URL);
Vue.use(VueSocketIOExt, socket);

我把这四行代码注释掉之后神奇的IE不白屏了,但业务需要IE11是不能放弃长连接的,经过尝试发现是socket.io-client这个插件在使用import引入时导致的问题。

解决方法一:

1、将main.js调整为:

import VueSocketIOExt from 'vue-socket.io-extended';
const socket = io(process.env.VUE_APP_IO_URL);
Vue.use(VueSocketIOExt, socket);

2、socket.io-client改为在public/index.html文件head中引入:

<script src="https://cdn.bootcdn.net/ajax/libs/socket.io/2.3.0/socket.io.slim.js"></script>

解决方法二:

保留main.js对第三方插件的引入不变,只需要在vue.config.js的transpileDependencies添加要显示依赖的插件即可:

transpileDependencies:['socket.io-client'],
// transpileDependencies:['*'],

transpileDependencies的作用是:默认情况下 babel-loader 会忽略所有 node_modules 中的文件。如果你想要通过 Babel 显式转译一个依赖,可以在这个选项中列出来。

现象三:本地环境正常,但生产环境仍旧白屏

发现引入一个多语言文件时,JSON没有使用合适的逗号导致,如下:

VUE 项目在IE11白屏报错 SCRIPT1002: 语法错误的解决

当我我第8行的逗号去掉后,奇迹般正常了。
另外,如果前端工程引入的文件不在工程的根目录下,也会出现这种情况。

到此这篇关于VUE 项目在IE11白屏报错 SCRIPT1002: 语法错误的解决的文章就介绍到这了,更多相关VUE IE11白屏报错内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
利用js实现在浏览器状态栏显示访问者在本页停留的时间
Dec 29 Javascript
javascript正则匹配汉字、数字、字母、下划线
Apr 10 Javascript
使用JS+plupload直接批量上传图片到又拍云
Dec 01 Javascript
详解AngularJS 模态对话框
Apr 07 Javascript
Javascript中常用的检测方法小结
Oct 08 Javascript
Angular2表单自定义验证器的实现
Oct 19 Javascript
JQuery validate 验证一个单独的表单元素实例
Feb 17 Javascript
JavaScript数据结构中栈的应用之表达式求值问题详解
Apr 11 Javascript
angularjs下拉框空白的解决办法
Jun 20 Javascript
详解微信小程序设置底部导航栏目方法
Jun 29 Javascript
Vue 页面权限控制和登陆验证功能的实例代码
Jun 20 Javascript
Vue路由权限控制解析
Nov 09 Javascript
react-intl实现React国际化多语言的方法
Sep 27 #Javascript
Javascript异步流程控制之串行执行详解
Sep 27 #Javascript
vue+elementUI 实现内容区域高度自适应的示例
Sep 26 #Javascript
Openlayers实现测量功能
Sep 25 #Javascript
openlayers4.6.5实现距离量测和面积量测
Sep 25 #Javascript
JQuery Ajax如何实现注册检测用户名
Sep 25 #jQuery
Openlayers测量距离与面积的实现方法
Sep 25 #Javascript
You might like
PHP获取时间排除周六、周日的两个方法
2014/06/30 PHP
php生成随机数的三种方法
2014/09/10 PHP
PHP实现打包zip并下载功能
2018/06/12 PHP
JQuery对checkbox操作 (循环获取)
2011/05/20 Javascript
基于javascript实现漂亮的页面过渡动画效果附源码下载
2015/10/26 Javascript
第一次接触神奇的Bootstrap导航条
2016/08/09 Javascript
js判断是否为空和typeof的用法(详解)
2016/10/07 Javascript
判断滚动条滑到底部触发事件(实例讲解)
2017/11/15 Javascript
浅谈微信JS-SDK 微信分享接口开发(介绍版)
2018/08/15 Javascript
vue实现密码显示与隐藏按钮的自定义组件功能
2019/04/23 Javascript
微信小程序通过js实现瀑布流布局详解
2019/08/28 Javascript
小程序实现锚点滑动效果
2019/09/23 Javascript
解决vue安装less报错Failed to compile with 1 errors的问题
2020/10/22 Javascript
[01:24:09]Ti4 冒泡赛第二轮DK vs C9 1
2014/07/14 DOTA
[02:53]DOTA2亚洲邀请赛 NewBee战队巡礼
2015/02/03 DOTA
wxpython学习笔记(推荐查看)
2014/06/09 Python
使用Python实现BT种子和磁力链接的相互转换
2015/11/09 Python
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
2016/05/17 Python
python看某个模块的版本方法
2018/10/16 Python
python3爬虫怎样构建请求header
2018/12/23 Python
python绘制漏斗图步骤详解
2019/03/04 Python
python爬虫之验证码篇3-滑动验证码识别技术
2019/04/11 Python
Docker部署Python爬虫项目的方法步骤
2020/01/19 Python
python利用tkinter实现图片格式转换的示例
2020/09/28 Python
matplotlib阶梯图的实现(step())
2021/03/02 Python
印尼旅游网站:via
2017/11/12 全球购物
美国地毯购买网站:Rugs USA
2019/02/23 全球购物
汇科协同Java笔试题
2012/03/31 面试题
音乐专业自荐信
2014/02/07 职场文书
农民工讨薪标语
2014/06/26 职场文书
查摆剖析材料范文
2014/09/30 职场文书
结婚仪式主持词
2015/06/29 职场文书
2016年情人节问候语
2015/11/11 职场文书
2016教师给学生的毕业寄语
2015/12/04 职场文书
golang import自定义包方式
2021/04/29 Golang
mysql的数据压缩性能对比详情
2021/11/07 MySQL