使用vite兼容低端浏览器配置
作者:arks_惊蛰
这篇文章主要介绍了使用vite兼容低端浏览器配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
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' ] }), ] });
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。