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 相关文章推荐
几个高效,简洁的字符处理函数
Apr 12 Javascript
JS array 数组详解
Mar 22 Javascript
jquery实现可拖动DIV自定义保存到数据的实例
Nov 20 Javascript
javascript设计模式之工厂模式示例讲解
Mar 04 Javascript
JavaScript核心语法总结(推荐)
Jun 02 Javascript
第一次接触神奇的Bootstrap网格系统
Jul 27 Javascript
javascript验证内容为数字以及长度为10的简单实例
Aug 20 Javascript
利用Vue.js实现checkbox的全选反选效果
Jan 18 Javascript
react-native组件中NavigatorIOS和ListView结合使用的方法
Sep 30 Javascript
详解关于JSON.parse()和JSON.stringify()的性能小测试
Mar 14 Javascript
浅谈bootstrap layer.open中end的使用方法
Sep 12 Javascript
html5中sharedWorker实现多页面通信的示例代码
May 07 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 高手之路(三)
2006/10/09 PHP
PHP中余数、取余的妙用
2015/06/29 PHP
Zend Framework动作助手Json用法实例分析
2016/03/05 PHP
JavaScript 组件之旅(二)编码实现和算法
2009/10/28 Javascript
统计出现最多的字符次数的js代码
2010/12/03 Javascript
JavaScript的各种常见函数定义方法
2014/09/16 Javascript
JavaScript数据类型学习笔记
2016/01/25 Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
2016/03/17 Javascript
在js中实现邮箱格式的验证方法(推荐)
2016/10/24 Javascript
探索Vue.js component内容实现
2016/11/03 Javascript
JS实现的系统调色板完整实例
2016/12/21 Javascript
jQuery使用JSONP实现跨域获取数据的三种方法详解
2017/05/04 jQuery
详解axios 全攻略之基本介绍与使用(GET 与 POST)
2017/09/15 Javascript
vue中动态设置meta标签和title标签的方法
2018/07/11 Javascript
使用vue重构资讯页面的实例代码解析
2019/11/26 Javascript
webpack DllPlugin xxx is not defined解决办法
2019/12/13 Javascript
javascript实现页面的实时时钟显示示例
2020/08/06 Javascript
Vue使用Ref跨层级获取组件的步骤
2021/01/25 Vue.js
[01:28:24]NAVI vs VG Supermajor 败者组 BO3 第三场 6.5
2018/06/06 DOTA
Java中重定向输出流实现用文件记录程序日志
2015/06/12 Python
Python爬虫获取整个站点中的所有外部链接代码示例
2017/12/26 Python
Anaconda 离线安装 python 包的操作方法
2018/06/11 Python
使用python的pandas库读取csv文件保存至mysql数据库
2018/08/20 Python
python读写csv文件方法详细总结
2019/07/05 Python
python实现图片中文字分割效果
2019/07/22 Python
keras 特征图可视化实例(中间层)
2020/01/24 Python
Python定时从Mysql提取数据存入Redis的实现
2020/05/03 Python
python读取xml文件方法解析
2020/08/04 Python
一套C#面试题
2013/10/09 面试题
人民教师的自我评价分享
2014/02/21 职场文书
目标责任书范文
2014/04/14 职场文书
小露珠教学反思
2014/04/30 职场文书
民族团结好少年事迹材料
2014/08/19 职场文书
功夫熊猫观后感
2015/06/10 职场文书
因个人工作失误检讨书
2019/06/21 职场文书
python自动化测试通过日志3分钟定位bug
2021/11/20 Python