问题背景

开发环境一直没有问题,但是到了生产环境上线显示白屏检查nginx配置以及web存放位置对应关系没有问题结果打开控制台输出:Uncaught Syntaxerror: Unexpected token ? 这个很明显是语法错误。但是在生产环境使用,于是赶紧让同事检查浏览器版本结果是他那边浏览器版本很低(谷歌76)导致的。

问题原因

vite代码版本较高,导致低版本浏览器无法运行

vite项目浏览器兼容性

vue3打包后在低版本浏览器或webview出现白屏,原因就是因为语法兼容问题。根据vite官方文档描述build.target默认支持 Chrome >=87、Firefox >=78、Safari >=14、Edge >=88 传送,所以需要我们手动兼容版本

解决办法

1.首先安装插件npm i @vitejs/pluginlegacy -D
2.然后配置vite.config.js

import legacyPlugin from '@vitejs/plugin-legacy';
export default defineConfig({
  plugins: [
    legacyPlugin({
      targets: ['chrome 52'], // 需要兼容目标列表可以设置多个
      additionalLegacyPolyfills: ['regenerator-runtime/runtime'], // 面向IE11时需要此插件
    }),
]
})

重新打包运行浏览器,则低浏览器不会报错

拓展:Uncaught Syntaxerror: Unexpected token >

其实这个问题很多都是因为我们代码版本较高导致了,这里因为是vite项目所以使用这种解决办法,如果你这边的vue2项目,或者是react项目,那么可以使用babelpolyfill。具体的步骤可以搜索一下,大差不差

原文地址:https://blog.csdn.net/weixin_43239880/article/details/130016895

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_40418.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注