vite兼容低端浏览器配置
@vitejs/plugin-legacy
官方提供的插件,兼容低端浏览器
npm i @vitejs/plugin-legacy
vite.config.js
import legacy from "@vitejs/plugin-legacy"; plugins: [ legacy({ targets: ["chrome 64"], modernpolyfills: true, }), ],
vite兼容老版本浏览器,解决浏览器无报错但打开空白
最近一个医院的项目,遇到有些电脑能访问web页面,有些电脑无法访问。
最后发现是浏览器版本不一样,老的浏览器版本不能正常访问,而新的浏览器可以访问。
因为医院是内网环境,电脑数量又比较多,所以没办法一一去升级浏览器版本。
找了一些资料后得知可以使用@vitejs/plugin-legacy来兼容老版本的浏览器。
该插件可以为你的vite项目生成适用于老版本浏览器的传统的基于es5的构建包。
在你的vite项目中运行以下命令来安装@vitejs/plugin-legacy:
npm install --save-dev @vitejs/plugin-legacy
还需要安装一个依赖 npm iterser -d ,如果不安装的话可能打包时会出错
在vite的配置文件(vite.config.js)中引入并注册@vitejs/plugin-legacy插件:
export default defineconfig({ // 其他配置项... plugins: [ // 注册 legacy 插件 legacy({ targets: ['ie >= 11', 'chrome <= 60'], // 需要兼容的目标列表,可以设置多个 additionallegacypolyfills: ['regenerator-runtime/runtime'], renderlegacychunks: true, polyfills: [ 'es.symbol', 'es.array.filter', 'es.promise', 'es.promise.finally', 'es/map', 'es/set', 'es.array.for-each', 'es.object.define-properties', 'es.object.define-property', 'es.object.get-own-property-descriptor', 'es.object.get-own-property-descriptors', 'es.object.keys', 'es.object.to-string', 'web.dom-collections.for-each', 'esnext.global-this', 'esnext.string.match-all' ] }), ] });
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论