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'
      ]
    }),
  ]
});

猜你喜欢

转载自blog.csdn.net/wuzhangting/article/details/132471904