整理各种Vue项目在IE浏览器白屏报错 SCRIPT1002:语法错误

这篇具有很好参考价值的文章主要介绍了整理各种Vue项目在IE浏览器白屏报错 SCRIPT1002:语法错误。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、关于 sockjs-client 依赖包

二、关于 highlight 依赖包

三、关于 swiper 依赖包

四、IE 不支持 ES6 语法

五、第三方插件引入导致

六、本地环境正常,生产环境仍旧白屏


这篇文章主要介绍了 Vue 项目在 IE 浏览器显示白屏并报错 SCRIPT1002: 语法错误 的案例

一、关于 sockjs-client 依赖包

Bug 背景 :接手一个新项目 ,npm run dev 启动服务器之后默认打开的是 谷歌浏览器 , 

后来发现项目在 IE 浏览器 打开后 白屏 , F12 打开控制台后报错信息显示如下 :

整理各种Vue项目在IE浏览器白屏报错 SCRIPT1002:语法错误

SCRIPT1002:语法错误

文件:app.js,行:207536,列:23

点击报错信息后展示(当时的报错没有截图,用的别人的图)

整理各种Vue项目在IE浏览器白屏报错 SCRIPT1002:语法错误

    像这种根本就没法排查错误 ,就很恼火啊!

百度了一堆 ,全是抄来抄去,关键是还没有能解决问题的 ,万能的谷歌走起

    其实对于这个问题很明显就是 语法错误 ,就是 IE 不支持 的问题 ,IE 垃圾 。。

既然是语法的问题 ,那就是 编译的问题 ,那么咱们就直接编译对应的包 ,

但是那是哪个包呢 ?

重点来了:点开报错信息 ,会发现 断点 在的地方就是 报错的地方

那肯定就是这里的问题了,但是这是编译后的代码,怎么排查是哪个包呢 ?

突然发现 上面的注释 不就是这个 包的名字 吗 ???

恍然大悟 ,犹如发现新大陆 !

整理各种Vue项目在IE浏览器白屏报错 SCRIPT1002:语法错误

./node_modules/_js-base64@3.6.2@js-base64.js

整理各种Vue项目在IE浏览器白屏报错 SCRIPT1002:语法错误

就是他了,此图不是我的报错信息,我的报错信息是

一个关于 sockjs-client 依赖包 的原因 ,

经过排查 , 是因为 sockjs-client 版本太低了(@1.5.0), 版本升级一下就好了
命令是 : $  npm install sockjs-client@1.5.1 -D ,
运行一下 , 重启一下就好了

但是自行检查过程中并没有在 package.json 文件中找到 sockjs-client 这个依赖包

后来得知 sockjs-client 依赖包 并没有显示在 package.json 文件里面 , 

而是在 package-lock.json 文件里 , 可以找到 “sockjs-client”: "^1.5.0"

运行完升级命令之后 ,就会在 package.json 文件 的 “devDependencies” 下面看到 :

“sockjs-client”: "^1.5.1" ,

总结就是 : package.json 里面没有,就是在 package-lock.json 里面 🈶️


但是 , 后来我试了一下 npm uninstall sockjs-client ,把这个依赖包卸载后

IE 浏览器依旧可以正常打开并且显示不白屏了 , 就很神奇 。 

也可能是因为 package-lock.json 里面的配置随着升级依赖包时已经改好了吧


需求背景 : 半年前开发的项目今天再次启用时 , 发现谷歌浏览器正常打开 , IE 却

又又又 白屏 了 ??? 之前还是好的 , 哎 , 没办法 , 再想办法解决吧 。。。

而且这回 IE 还有个“毛病”就是控制台在开启状态时进入页面时 , 它会自动进入断点模式 ,

1、断点进入的第一个位置显示如下图 :(此时页面白屏,加载不出来)

整理各种Vue项目在IE浏览器白屏报错 SCRIPT1002:语法错误

其实这里大致就能看出来端倪了 , 又是 node_modules 里面一个 关于 sockjs-client 依赖包

出了问题 , 发现大多都跟这个包有关系哎 。。

2、清理IE浏览器缓存后 , 这里页面显示 无法显示此页 (断点运行结束)

整理各种Vue项目在IE浏览器白屏报错 SCRIPT1002:语法错误

2-2、断点运行继续下一个位置显示如下图:

( 此时页面其实是可以加载出来了 ,但出现报错 )

整理各种Vue项目在IE浏览器白屏报错 SCRIPT1002:语法错误

控制台报错如下图所示 :

整理各种Vue项目在IE浏览器白屏报错 SCRIPT1002:语法错误

SCRIPT5022: SecurityError

文件:sockjs.js,行:1687,列:3

我另一个前端同事的报错信息是 :

SCRIPT1002:语法错误


解决方案 :

将 sockjs-client 依赖包版本调整一下版本(升级或降级)

package-lock.json   原版本信息如下图所示 :

整理各种Vue项目在IE浏览器白屏报错 SCRIPT1002:语法错误

npm install sockjs-client@1.5.1 -D

下载安装完新的依赖包之后 , 再重新启动项目 , 

发现 IE 浏览器打开控制台也不会再自动断点了 , 页面也能够正常展示无报错 。

  "devDependencies": {
    "sockjs-client": "^1.5.1"
  }

二、关于 highlight 依赖包

整理各种Vue项目在IE浏览器白屏报错 SCRIPT1002:语法错误我依稀记得当初好像是因为在 main.js 文件内引用了 highlight 依赖 (一个高亮插件)

"highlight.js": "^10.7.1" , 我隐约记得是这个依赖包版本 , 老早之前了 。

所以导致了 IE 浏览器打开显示白屏并且控制台报错。

当时解决方案就是 : 直接删掉了那个引用依赖 , 因为项目中也用不到了 ,所以解决了 。


三、关于 swiper 依赖包

整理各种Vue项目在IE浏览器白屏报错 SCRIPT1002:语法错误


整理各种Vue项目在IE浏览器白屏报错 SCRIPT1002:语法错误

四、IE 不支持 ES6 语法

整理各种Vue项目在IE浏览器白屏报错 SCRIPT1002:语法错误整理各种Vue项目在IE浏览器白屏报错 SCRIPT1002:语法错误

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.jstranspileDependencies 添加要显示依赖的插件即可 :

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

transpileDependencies 的作用是 :

默认情况下 babel-loader 会忽略所有 node_modules 中的文件。

如果你想要通过 Babel 显式转译一个依赖 ,可以在这个选项中列出来。


六、本地环境正常,生产环境仍旧白屏

整理各种Vue项目在IE浏览器白屏报错 SCRIPT1002:语法错误文章来源地址https://www.toymoban.com/news/detail-460548.html

到了这里,关于整理各种Vue项目在IE浏览器白屏报错 SCRIPT1002:语法错误的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 免费 Selenium各大浏览器驱动【谷歌chrme、火狐Firefox、IE浏览器】

    aardio群 625494397 废话不多说 直接开整! 竟然还有脸收费 服了 下载对应版本的浏览器驱动 目标网址 应用场景 Selenium库涉及到 安装selenium库 下载对应浏览器驱动 找到浏览器对应版本 最后直接上代码

    2024年02月16日
    浏览(75)
  • 解决一打开IE浏览器就自动跳转到Edge浏览器的问题

    打开Internet Explorer浏览器后会自动跳转到Microsoft Edge浏览器。 打开控制面板,选择“Internet选项”,选择【高级】选项卡,取消勾选“启用第三方浏览器扩展*”即可。

    2024年02月11日
    浏览(77)
  • 打开IE浏览器就会跳转到Microsoft Edge微软浏览器如何解决

    某件事情必须要用到IE浏览器 一打开IE浏览器时却老是会跳转到Microsoft Edge浏览器,不知道如何解决 1、因为微软已将开发重心放在基于Chromium的新版Edge浏览器上,而传统的InternetExplorer则逐渐被淘汰。 2、也就是说,如果当前使用的是IE浏览器,可以考虑切换到新版Edge浏览器,

    2024年02月11日
    浏览(83)
  • Win10系统下禁止ie浏览器自动跳转到Microsoft Edge浏览器

    当有些情况下,需要使用ie浏览器时,但是当我们打开ie浏览器会自动跳转到Microsoft Edge浏览器,该如何设置,来禁止它自动跳转呢?

    2024年02月11日
    浏览(69)
  • win10系统使用自带IE浏览器

    对于Win10系统,Microsoft仍然内置了IE(Internet Explorer)浏览器,用户可以直接使用。主要步骤如下: 1. 寻找IE浏览器图标。在Win10系统的任务栏或开始菜单中寻找IE浏览器的图标,双击打开。如果未显示图标,可以在开始菜单的“所有应用”中找到Internet Explorer并打开。 2. 首次运行配置。

    2024年02月11日
    浏览(55)
  • win11系统如何使用IE浏览器

    在Win11系统中,Microsoft Edge浏览器已经取代IE浏览器,成为默认浏览器。但如果用户仍需使用IE浏览器,可以通过以下步骤启用和安装: 1. 启用IE浏览器组件。在Win11的“控制面板”中打开“程序和功能”,选择“打开或关闭Windows功能”,勾选“Internet Explorer 11”,点击“确定”启用IE11浏

    2024年02月05日
    浏览(78)
  • 谷歌、火狐、ie浏览器更改滚动条样式

    一、谷歌: 1、全局修改,所有滚动条生效: 2、针对某个容器修改: 3、隐藏滚动条: 二、火狐: 1、火狐滚动条样式通过scrollbar-color和scrollbar-width两个属性控制: 2、隐藏滚动条: 三、ie:

    2024年01月22日
    浏览(64)
  • ES6的语法兼容IE浏览器

    这段代码在IE浏览器中可能会报错,因为箭头函数、模板字符串以及模板字符串中的变量插入是ES6的语法,旧版本的IE浏览器不支持。 为了解决这个问题,你可以将箭头函数改写为普通的匿名函数,将模板字符串改为字符串拼接的方式。请尝试以下修改: 以上修改后的代码应

    2024年02月14日
    浏览(72)
  • 如何在Windows11下开启IE浏览器

    Microsoft 发布 Windows 11 之后,系统使用基于 Chromium 内核的 Edge 浏览器来代替被人唾骂已久的 IE 浏览器,IE 浏览器入口也已经被屏蔽掉了。通过任何常规方式打开 IE 浏览器都会自动使用 Edge 浏览器打开。 最新消息,IE 浏览器于北京时间 2022 年 6月15 日 21:00 正式退役。 很多企业

    2024年02月08日
    浏览(71)
  • 【阻止IE强制跳转到Edge浏览器】

    由于微软开始限制用户使用Internet Explorer浏览网站,IE浏览器打开一些网页时会自动跳转到新版Edge浏览器,那应该怎么禁止跳转呢? 1、点击电脑左下角的“搜索框”或者按一下windows键。 2、输入“internet”,点击【Internet选项】。 3、点击【高级】。 4、找到“浏览”选项栏,

    2024年02月14日
    浏览(91)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包