vue3+vite适配低版本谷歌浏览器;vue3浏览器兼容性处理


前言

最近使用vue3+ts+vite搭建了一个项目,在chrome112等新版本浏览器上无问题,但是部署到现场页面直接空白,且控制台报错:
Uncaugnt SyntaxError: Unexpected token .
Uncaught SyntaxError: Unexpected token ?
在这里插入图片描述

问题:经过排查是现场谷歌浏览器72版本太老,不支持最新语法和es6这些语法导致
故需要做浏览器兼容性处理


在mac运行不同版本的chrome浏览器 用于测试

多说一句,老版本浏览器卡的一逼

一、安装依赖插件

安装@vitejs/plugin-legacy插件,用于转换语法,vite升级到5.0.0

npm i @vitejs/plugin-legacy@5.3.2 -D
npm i vite@5.0.0

同时需要安装terser,否则打包不了(如果你能打包,不安装该依赖也可以)

npm add -D terser

这里是引用

二、使用步骤

1.修改vite.config.js,

1.在vite.config.js引入:

import legacy from "@vitejs/plugin-legacy"

在这里插入图片描述

2.在vite.config.js的plugins数组插件里使用legacy()

legacy()

在这里插入图片描述

2.打包和调试

2.1注意: 即使安装了@vitejs/plugin-legacy,你本地启动项目,在72版本浏览器了运行还是会报白屏看不了,因为该插件只是在打包时候生效。
但是打包部署后,去72版本浏览器打开项目看,就能正常访问

2.2本地起服务看效果: 将你打包后的dist文件,直接拖到一个新的vscode里,然后点击go live本地起一个服务,它会自动在浏览器里打开你打包后的项目,同样可以调用接口登录查看页面效果可以先把接口服务那里写固定开发的ip+端口请求地址,否则可能会接口调用失败);

只不过无法做到你修改代码,它实时变化(因为是打包文件的服务)。有好的方法请评论区分享下

2.3然后查看页面样式或者其他报错,去修改代码后,重新打包,重新go live,重新查看页面在重新修改,直至完成兼容性处理

使用dist打包文件本地起服务看页面效果
在这里插入图片描述

3.查看本地dist服务打开的页面效果,常见问题:

1.本地起的服务,接口报错:(将接口暂时写固定的环境地址接口,重新打包发布,重新起dist服务看) 注意后期打包发布现场线上时候接口地址要改回去在这里插入图片描述
2.刚起的服务,控制台还是有报错,页面还是空白:
针对报错,去代码里一一修改,可能是根节点index.html里的语法错误,因为打包是不会将index.html处理的,所以需要将这个文件的es6语法单独处理下,再重新打包dist,其本地服务,浏览器看页面效果。
在这里插入图片描述

三、72版本浏览器查看新打包文件的服务页面无误后,再去部署测试环境和现场

记得将之前临时改的代码回撤(例如:固定写死的接口地址)

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 3是一种流行的JavaScript框架,它提供了一种简洁、高效的方式来构建用户界面。Vite是一个基于ES模块的构建工具,它专注于快速的开发体验。而TypeScript是一种静态类型检查的JavaScript超集,它可以增强代码的可读和可维护。 在浏览器兼容方面,Vue 3、Vite和TypeScript都有一些要注意的事项: 1. Vue 3:Vue 3相对于Vue 2有一些重要的变化,其中一个是使用了ES模块作为默认的模块系统。这意味着在一些旧版本浏览器中可能不被支持。为了解决这个问题,你可以使用Babel等工具进行转译,以确保Vue 3代码在目标浏览器中能够正常运行。 2. ViteVite使用ES模块作为默认的模块系统,并且利用现代浏览器的原生ES模块支持来提供快速的开发体验。然而,对于一些旧版本浏览器,可能需要进行转译和polyfill处理。你可以使用Babel和相关插件来处理这些兼容性问题。 3. TypeScript:TypeScript可以编译为普通的JavaScript代码,并且可以在大多数现代浏览器中运行。然而,一些较旧的浏览器可能不支持所有的ES6+特,因此你可能需要使用Babel等工具来进行转译和polyfill处理。 总结起来,为了在Vue 3、Vite和TypeScript项目中实现浏览器兼容,你可以采取以下步骤: 1. 使用Babel:配置Babel来转译和处理目标浏览器不支持的特。 2. 使用Polyfill:使用Polyfill来填充目标浏览器缺少的功能。 3. 针对不同浏览器版本进行测试:确保你的应用在目标浏览器中能够正常运行,并进行必要的调整和修复。 4. 参考官方文档:查阅Vue 3、Vite和TypeScript的官方文档,了解更多关于浏览器兼容的建议和最佳实践。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值