vue3 + vite + @vitejs/plugin-legacy 兼容低版本浏览器


前言

最近使用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版本浏览器查看新打包文件的服务页面无误后,再去部署测试环境和现场

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值