解决vite项目Uncaught Syntaxerror:Unexpected token>vue项目上线白屏问题

 更新时间:2024年03月21日 09:28:28   作者:吃炸鸡的前端  
这篇文章主要介绍了解决vite项目Uncaught Syntaxerror:Unexpected token>vue项目上线白屏问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

问题背景

在开发环境一直没有问题,但是到了生产环境,上线了显示白屏。

检查了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/plugin-legacy -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项目,那么可以使用babel-polyfill。

具体的步骤可以搜索一下,大差不差!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue中axios实现数据交互与跨域问题

    vue中axios实现数据交互与跨域问题

    这篇文章主要介绍了vue中axios实现数据交互与跨域问题,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-05-05
  • vue如何获取指定元素

    vue如何获取指定元素

    这篇文章主要介绍了vue如何获取指定元素,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • Vue组件基础操作介绍

    Vue组件基础操作介绍

    这篇文章主要介绍了Vue组件基础操作,组件是vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互进行直接的引用
    2023-01-01
  • 详解Vue3 Teleport 的实践及原理

    详解Vue3 Teleport 的实践及原理

    这篇文章主要介绍了Vue3 Teleport 组件的实践及原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Vue 2.0中生命周期与钩子函数的一些理解

    Vue 2.0中生命周期与钩子函数的一些理解

    这篇文章主要给大家介绍了关于Vue 2.0中生命周期与钩子函数的相关资料,对大家学习或者使用vue2.0具有一定的参考学习价值,需要的朋友们下面随小编一起来看看吧。
    2017-05-05
  • 图文详解keep-alive如何清除缓存

    图文详解keep-alive如何清除缓存

    vue项目中常常会用到keepalive来作缓存,在应付基本要求上能够说很是方便,可是遇到同一个页面,根据条件不一样,分别缓存或者不缓存,就有些麻烦了,这篇文章主要给大家介绍了关于keep-alive如何清除缓存的相关资料,需要的朋友可以参考下
    2021-08-08
  • Vue3中实现微信扫码登录的步骤和代码示例

    Vue3中实现微信扫码登录的步骤和代码示例

    在 Vue 3 中实现微信扫码登录,涉及到前端生成二维码、监听微信回调以及与后端的交互,本文给大家介绍了一个详细的实现步骤和代码示例,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-07-07
  • 浅谈Vue.js组件(二)

    浅谈Vue.js组件(二)

    这篇文章主要介绍了Vue.js组件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Vue.js报错Failed to resolve filter问题的解决方法

    Vue.js报错Failed to resolve filter问题的解决方法

    这篇文章主要介绍了Vue.js报错Failed to resolve filter问题的解决方法,需要的朋友可以参考下
    2016-05-05
  • vue项目中v-model父子组件通信的实现详解

    vue项目中v-model父子组件通信的实现详解

    vue.js,是一个构建数据驱动的 web 界面的库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。下面这篇文章主要给大家介绍了关于vue项目中v-model父子组件通信实现的相关资料,需要的朋友可以参考下。
    2017-12-12

最新评论