位置: IT常识 - 正文

整理各种Vue项目在IE浏览器白屏报错 SCRIPT1002:语法错误(vue项目中技巧知识点)

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

目录

一、关于 sockjs-client 依赖包

二、关于 highlight 依赖包

三、关于 swiper 依赖包

四、IE 不支持 ES6 语法

五、第三方插件引入导致

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


推荐整理分享整理各种Vue项目在IE浏览器白屏报错 SCRIPT1002:语法错误(vue项目中技巧知识点),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue项目各个文件介绍,vue项目中技巧知识点,vue app项目,vue项目中技巧知识点,vue项目实战教程,vue项目各个文件介绍,完整的vue项目,vue项目实战教程,内容如对您有帮助,希望把文章链接给更多的朋友!

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

一、关于 sockjs-client 依赖包

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

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

SCRIPT1002:语法错误

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

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

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

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

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

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

但是那是哪个包呢 ?

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

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

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

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

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

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

一个关于 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:语法错误(vue项目中技巧知识点)

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

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

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

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

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

控制台报错如下图所示 :

SCRIPT5022: SecurityError

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

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

SCRIPT1002:语法错误

解决方案 :

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

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

npm install sockjs-client@1.5.1 -D

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

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

"devDependencies": { "sockjs-client": "^1.5.1" }二、关于 highlight 依赖包

我依稀记得当初好像是因为在 main.js 文件内引用了 highlight 依赖 (一个高亮插件)

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

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

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

三、关于 swiper 依赖包

四、IE 不支持 ES6 语法

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 显式转译一个依赖 ,可以在这个选项中列出来。

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

本文链接地址:https://www.jiuchutong.com/zhishi/287101.html 转载请保留说明!

上一篇:莱姆里杰斯的Cobb防波堤,英格兰多塞特 (© Ross Hoddinott/Offset by Shutterstock)(莱姆 惨败)

下一篇:以下是Uniapp面试题及其答案(uni app面试题)

  • 微信怎么申请人工解封(微信怎么申请人工解封问题描述怎么写)

    微信怎么申请人工解封(微信怎么申请人工解封问题描述怎么写)

  • 微信对方取消位置共享会提醒吗(微信定位被对方定位怎么解除)

    微信对方取消位置共享会提醒吗(微信定位被对方定位怎么解除)

  • 为什么智慧团建一直显示密码错误(为什么智慧团建密码对了登录不进去)

    为什么智慧团建一直显示密码错误(为什么智慧团建密码对了登录不进去)

  • 小米蓝牙耳机air2没有弹窗吗(小米蓝牙耳机air2 se)

    小米蓝牙耳机air2没有弹窗吗(小米蓝牙耳机air2 se)

  • 华为Nova5怎么拦截所有号码(华为nova5i怎么拦截骚扰电话)

    华为Nova5怎么拦截所有号码(华为nova5i怎么拦截骚扰电话)

  • ipad短信有个感叹号(ipad2020短信有个感叹号)

    ipad短信有个感叹号(ipad2020短信有个感叹号)

  • 华为Nova5安装应用权限在哪(华为nova5安装未知应用权限怎么设置)

    华为Nova5安装应用权限在哪(华为nova5安装未知应用权限怎么设置)

  • 华为手机的夜间模式在哪里(华为手机的夜间模式在哪里找)

    华为手机的夜间模式在哪里(华为手机的夜间模式在哪里找)

  • 手机克隆后新手机记录没了(手机克隆后新手机的数据还有吗)

    手机克隆后新手机记录没了(手机克隆后新手机的数据还有吗)

  • 手机上时间和天气怎么显示到桌面上(手机上时间和天气)

    手机上时间和天气怎么显示到桌面上(手机上时间和天气)

  • 魅族17是曲面屏吗(魅族17pro是曲面屏)

    魅族17是曲面屏吗(魅族17pro是曲面屏)

  • 华为一碰传怎么用不了(华为一碰传怎么传照片)

    华为一碰传怎么用不了(华为一碰传怎么传照片)

  • ipad激活和未激活区别是什么(ipad已激活和未激活)

    ipad激活和未激活区别是什么(ipad已激活和未激活)

  • 机顶盒专用网络怎么电脑(机顶盒配置网络)

    机顶盒专用网络怎么电脑(机顶盒配置网络)

  • hd4600相当于什么显卡(hd4600相当于什么显卡,HD4600评测)

    hd4600相当于什么显卡(hd4600相当于什么显卡,HD4600评测)

  • 拼多多不发货怎么赔偿(拼多多不发货怎么退货)

    拼多多不发货怎么赔偿(拼多多不发货怎么退货)

  • 天猫精灵一代和二代的区别(天猫精灵一代和二代有啥区别)

    天猫精灵一代和二代的区别(天猫精灵一代和二代有啥区别)

  • 哔哩哔哩怎么下载音频(哔哩哔哩怎么分享完整视频)

    哔哩哔哩怎么下载音频(哔哩哔哩怎么分享完整视频)

  • 优酷下载的视频怎么保存到手机相册(优酷下载的视频在什么位置)

    优酷下载的视频怎么保存到手机相册(优酷下载的视频在什么位置)

  • vivox27有读卡功能吗(vivox23手机有门禁卡功能吗)

    vivox27有读卡功能吗(vivox23手机有门禁卡功能吗)

  • 电脑上好多垃圾广告怎么设置没有(电脑上好多垃圾软件卸载了还是反复出现)

    电脑上好多垃圾广告怎么设置没有(电脑上好多垃圾软件卸载了还是反复出现)

  • 电脑手写键盘怎么设置(电脑手写键盘怎么连接)

    电脑手写键盘怎么设置(电脑手写键盘怎么连接)

  • 快手怎么解除青少年模式(快手怎么解除青少年模式密码不知道了怎么办)

    快手怎么解除青少年模式(快手怎么解除青少年模式密码不知道了怎么办)

  • 小度在家能下载微信吗(小度在家能下载腾讯会议吗)

    小度在家能下载微信吗(小度在家能下载腾讯会议吗)

  • 如何在电脑PC上启动Windows11和Linux双系统(在电脑上呢)

    如何在电脑PC上启动Windows11和Linux双系统(在电脑上呢)

  • 温哥华岛麋鹿瀑布吊桥鸟瞰图,加拿大 (© Ink Drop/Alamy)(温哥华瀑布)

    温哥华岛麋鹿瀑布吊桥鸟瞰图,加拿大 (© Ink Drop/Alamy)(温哥华瀑布)

  • PyTorch学习系列教程:何为Tensor?(pytorch如何学)

    PyTorch学习系列教程:何为Tensor?(pytorch如何学)

  • 什么时候公司需要赔偿员工
  • 分红款怎么记账
  • 两个账户往来款怎么做现金流量表
  • 专票当普票用,发票勾选怎么操作
  • 个体工商户2023年税收政策
  • 员工收到现金工资怎么写收据
  • 视同销售的八种情况
  • 零食发票能抵税吗
  • 私车公用可以企业所得税税前扣除吗
  • 多借多贷的会计分录格式
  • 小规模纳税人计提增值税
  • 计提高温补贴会计分录
  • 社保岗位补贴条件
  • 实际费用比预算高
  • 贷款 保险费
  • 合伙企业如何计算缴纳个人所得税
  • 虚假享受税收优惠政策
  • 离职补偿金怎么计算
  • 买方投资公司
  • 企业收到票据时应以什么入账
  • 银行存款日记账和现金日记账的区别
  • 快递有发票快递如何收费
  • 在租的土地上建房
  • 如何查出账外收入
  • 联营 保底
  • 支付水费现金流量
  • 预付账款坏账处理流程
  • php4位数的随机字符
  • 进程 com surrogate
  • 房屋装修各项费用比例
  • Win11 Build 22000.348更新补丁KB5007262预览版发布(附更新修复内容汇总)
  • 包装物逾期是什么意思
  • 投资性房地产转换的会计处理
  • php检测网站是否正常打开
  • 销售金额较大多少算较大
  • nginx连接超时时间设置多少
  • 融资租赁首付租金会计账务处理
  • 个人独资企业只有收入没有成本和费用
  • 零申报一般怎么收费
  • sql server2014教程
  • 公司给员工购买商业保险报销哪些
  • 小规模免税收入是多少
  • 退伍军人9000补助
  • 个人开发者要缴税吗
  • 买入返售金融资产属于金融资产吗
  • 收到工会经费怎么指定现金流入
  • 付境外股东股利要交什么税
  • 咨询服务业成本比例
  • 总结sql执行进展怎么写
  • navicat连接教程
  • SQLServer XML数据的五种基本操作
  • sql server触发器主要针对下列语句创建
  • mysql5.6解压版安装教程
  • xp无法识别的usb设备 怎么解决
  • win2008server安装qq
  • freebsd操作命令
  • 主板bios无法重置
  • sm56hlpr.exe - sm56hlpr是什么进程
  • svn怎么切换用户名
  • win7 分区表
  • windows的视频
  • centos怎么编写c语言
  • win7自动升级失败后的处理
  • windows8关机键在哪里
  • linux系统怎么查看root用户密码
  • win10如何打开ie8
  • cocos2d怎么用
  • 函数里面声明函数
  • android开发工程师案例教程源码
  • perl编程
  • python爬虫全套教程
  • nodejs怎么下载其他版本
  • 安装下载应用
  • 理解js绑定事件是什么
  • 编写javascript代码
  • 发票查验怎么弄
  • 广东省地方税务局发票查询
  • 余额宝出现问题怎么办?
  • 知道金额,税额怎么计算
  • 自然资源税税率
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设