位置: 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面试题)

  • 饿了么可以用支付宝支付吗(饿了么可以用支付宝亲情卡吗)

    饿了么可以用支付宝支付吗(饿了么可以用支付宝亲情卡吗)

  • mini6有没有高刷(mini6支持高刷新率吗?)

    mini6有没有高刷(mini6支持高刷新率吗?)

  • 苹果13可以分屏操作吗(苹果13可以分屏聊天吗)

    苹果13可以分屏操作吗(苹果13可以分屏聊天吗)

  • 华为荣耀20s如何隐藏应用(华为荣耀20s如何开启nfc)

    华为荣耀20s如何隐藏应用(华为荣耀20s如何开启nfc)

  • 华为畅享20pro支持nfc功能吗(华为畅享20pro支持无线充电吗)

    华为畅享20pro支持nfc功能吗(华为畅享20pro支持无线充电吗)

  • 4k修复版是什么原理(4k修复版有哪些)

    4k修复版是什么原理(4k修复版有哪些)

  • 小米体脂称2和1的区别(小米体脂称2和云麦好轻mini2哪个好)

    小米体脂称2和1的区别(小米体脂称2和云麦好轻mini2哪个好)

  • win7电脑黑屏只有鼠标什么也做不了(win7电脑黑屏只有鼠标)

    win7电脑黑屏只有鼠标什么也做不了(win7电脑黑屏只有鼠标)

  • 华为p30照片删除后可以恢复吗(华为p30照片删除了怎么恢复,最近删除也删掉了)

    华为p30照片删除后可以恢复吗(华为p30照片删除了怎么恢复,最近删除也删掉了)

  • ev3编程和scratch的区别(ev3编程和scratch一起学可以吗)

    ev3编程和scratch的区别(ev3编程和scratch一起学可以吗)

  • 验证码发不过来怎么办(为什么手机验证码发不过来)

    验证码发不过来怎么办(为什么手机验证码发不过来)

  • 升序是什么意思(价格升序是什么意思)

    升序是什么意思(价格升序是什么意思)

  • 蓝牙idac什么意思(蓝牙ldac有什么用)

    蓝牙idac什么意思(蓝牙ldac有什么用)

  • windows2000是系统软件吗(windows2000是win几)

    windows2000是系统软件吗(windows2000是win几)

  • 为什么苹果手机浏览器显示未连接互联网(为什么苹果手机会发烫)

    为什么苹果手机浏览器显示未连接互联网(为什么苹果手机会发烫)

  • 电话充电慢是怎么回事(电话充电很慢)

    电话充电慢是怎么回事(电话充电很慢)

  • 怎样注册淘宝店铺流程(怎样注册淘宝店,注册淘宝店需要花钱吗)

    怎样注册淘宝店铺流程(怎样注册淘宝店,注册淘宝店需要花钱吗)

  • 怎么关闭airpods(怎么关闭airpodspro语音播报)

    怎么关闭airpods(怎么关闭airpodspro语音播报)

  • 苹果手机微博缓存的视频在哪里(苹果手机微博缓存变成本地视频)

    苹果手机微博缓存的视频在哪里(苹果手机微博缓存变成本地视频)

  • 长虹老年机sos怎么关闭(长虹老人机手机密码是多少)

    长虹老年机sos怎么关闭(长虹老人机手机密码是多少)

  • 刷宝怎么看视频元宝多(刷宝短视频怎么看历史记录)

    刷宝怎么看视频元宝多(刷宝短视频怎么看历史记录)

  • p30锁屏时间设置(p30锁屏怎么设置时时间显示调整)

    p30锁屏时间设置(p30锁屏怎么设置时时间显示调整)

  • surface pro7何时发布(微软surface pro7发布时间)

    surface pro7何时发布(微软surface pro7发布时间)

  • 美团怎么给好评(美团怎么给好评5个星)

    美团怎么给好评(美团怎么给好评5个星)

  • 抖音风火轮特效怎么弄(抖音风火轮特效怎么弄的)

    抖音风火轮特效怎么弄(抖音风火轮特效怎么弄的)

  • 华为折叠手机mate x3无线充电(华为折叠手机mateXs3)

    华为折叠手机mate x3无线充电(华为折叠手机mateXs3)

  • 分手了怎么办?(没结婚生了小孩分手了怎么办?)

    分手了怎么办?(没结婚生了小孩分手了怎么办?)

  • 一般纳税人开普票税率是3%还是13%
  • 如何申请一般纳税人
  • 应纳所得税额的税率
  • 累进税率的税种有哪些
  • 资产负债表与利润表的区别
  • 出库成本是什么意思
  • 税率为0的发票长啥样
  • 企业年报修改后,第三方平台多久同步
  • 暂估入库原材料成本结转后期发票到怎么处理
  • 劳务公司一般纳税人开票几个点
  • 发生销货退回需要退回发票么
  • 可转换公司债券属于哪一类金融资产
  • 提供劳务收取现金会计分录
  • 零售业税率多少?如何交?
  • 开票信息里面的电话号码怎么来的?
  • 企业税收风险有哪些方面
  • 小微企业免征增值税优惠
  • 分期付款确认收入借方写啥
  • 分期收款如何确认成本
  • 无偿提供服务需要交增值税吗
  • 增值税暂行条例属于
  • 垫付资金成本
  • 外籍人员取得数月奖金怎么交税
  • 出售交易性金融资产的记账凭证
  • macbook如何安装
  • 事业单位收到租金收入
  • 新政府会计制度科目表
  • mac怎么同步
  • win10平板模式怎么改回来
  • 无法找到脚本文件vbs怎么办
  • 如何使用php
  • 如何查看自己的qq密码
  • 营改增改了什么
  • php实现的任意进程函数
  • php的session
  • 企业重组的主要形式是什么?
  • 企业为员工购买
  • 应交增值税明细科目怎么看
  • 基建费用如何摊销
  • openai创始人阿尔特曼 取向
  • vscodehtml快捷键
  • 递延收益会计科目的账务处理
  • lvm 创建
  • 审核出错问题在谁
  • 现金流量表和资产负债表的区别
  • 应收处理的两大内容是什么
  • 中医经营范围,营业执照怎么写
  • 看望员工现金属于什么费用
  • 第一次购买金税盘会计分录
  • 收取水电费计入什么科目
  • 当月纳税申报期是什么意思
  • sqlserver233报错原因
  • 票据的收款人和持票人有什么区别
  • 企业贴现会计分录
  • 没有发票可以先付款吗
  • 过路费发票抵扣政策
  • 尚未使用或出租而待售的商品房需要交房产税吗
  • 材料采购合同要点
  • 小规模纳税人购入固定资产怎么做账
  • 银行手续费没拿可以退吗
  • 满减送的购物券在哪里看
  • sql server 数据库介绍
  • git checkout撤销
  • linux配置raid5方法
  • centos sh
  • linux config
  • js怎么用
  • Android:Activity+Fragment及它们之间的数据交换(一)
  • bash 数值比较
  • 背包 ui
  • linux系统中rpm命令主要功能
  • 使用应用程序的好处
  • javascript中array的正确写法
  • android界面设计规范
  • 购置税发票怎么看自己交了多少税
  • 厦门增值税发票查询
  • 免税证明如何办理
  • 江苏省税务局电话咨询热线
  • 怎么查询手机发票
  • 浙江欧派和广东欧派哪个好
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设