解決vite項(xiàng)目Uncaught Syntaxerror:Unexpected token>vue項(xiàng)目上線白屏問(wèn)題
問(wèn)題背景
在開(kāi)發(fā)環(huán)境一直沒(méi)有問(wèn)題,但是到了生產(chǎn)環(huán)境,上線了顯示白屏。
檢查了nginx配置以及web存放位置的對(duì)應(yīng)關(guān)系都沒(méi)有問(wèn)題,結(jié)果打開(kāi)控制臺(tái)輸出:Uncaught Syntaxerror: Unexpected token ? 這個(gè)很明顯是語(yǔ)法錯(cuò)誤。
但是在生產(chǎn)環(huán)境能使用,于是趕緊讓同事檢查了瀏覽器版本,結(jié)果是他那邊瀏覽器的版本很低(谷歌76)導(dǎo)致的。
問(wèn)題原因
vite代碼版本較高,導(dǎo)致低版本瀏覽器無(wú)法運(yùn)行
vite項(xiàng)目瀏覽器兼容性
vue3打包后在低版本瀏覽器或webview中出現(xiàn)白屏,原因就是因?yàn)檎Z(yǔ)法兼容問(wèn)題。
根據(jù)vite官方文檔描述:
build.target默認(rèn)支持 Chrome >=87、Firefox >=78、Safari >=14、Edge >=88 傳送,所以需要我們手動(dòng)兼容低版本。
解決辦法
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'], // 需要兼容的目標(biāo)列表,可以設(shè)置多個(gè)
additionalLegacyPolyfills: ['regenerator-runtime/runtime'], // 面向IE11時(shí)需要此插件
}),
]
})
重新打包、運(yùn)行到瀏覽器,則低瀏覽器不會(huì)報(bào)錯(cuò)了
拓展:Uncaught Syntaxerror: Unexpected token >
其實(shí)這個(gè)問(wèn)題很多都是因?yàn)槲覀兊拇a版本較高導(dǎo)致了,這里因?yàn)槭莢ite項(xiàng)目所以使用這種解決辦法
如果你這邊的vue2項(xiàng)目,或者是react項(xiàng)目,那么可以使用babel-polyfill。
具體的步驟可以搜索一下,大差不差!
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- VUE3刷新頁(yè)面報(bào)錯(cuò)問(wèn)題解決:Uncaught?SyntaxError:Unexpected?token?'<'
- Vue項(xiàng)目報(bào)錯(cuò):Uncaught?SyntaxError:?Unexpected?token?'<'的解決方法
- 解決VUE項(xiàng)目在IIS部署出現(xiàn):Uncaught SyntaxError: Unexpected token < 報(bào)錯(cuò)
- Vue項(xiàng)目報(bào)錯(cuò):Uncaught SyntaxError: Unexpected token <
- vue-cli 打包后提交到線上出現(xiàn) "Uncaught SyntaxError:Unexpected token" 報(bào)錯(cuò)
- vue出現(xiàn)Uncaught SyntaxError:Unexpected token問(wèn)題及解決
相關(guān)文章
vue中axios實(shí)現(xiàn)數(shù)據(jù)交互與跨域問(wèn)題
這篇文章主要介紹了vue中axios實(shí)現(xiàn)數(shù)據(jù)交互與跨域問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-05-05
Vue3中實(shí)現(xiàn)微信掃碼登錄的步驟和代碼示例
在 Vue 3 中實(shí)現(xiàn)微信掃碼登錄,涉及到前端生成二維碼、監(jiān)聽(tīng)微信回調(diào)以及與后端的交互,本文給大家介紹了一個(gè)詳細(xì)的實(shí)現(xiàn)步驟和代碼示例,對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-07-07
Vue.js報(bào)錯(cuò)Failed to resolve filter問(wèn)題的解決方法
這篇文章主要介紹了Vue.js報(bào)錯(cuò)Failed to resolve filter問(wèn)題的解決方法,需要的朋友可以參考下2016-05-05
vue項(xiàng)目中v-model父子組件通信的實(shí)現(xiàn)詳解
vue.js,是一個(gè)構(gòu)建數(shù)據(jù)驅(qū)動(dòng)的 web 界面的庫(kù)。Vue.js 的目標(biāo)是通過(guò)盡可能簡(jiǎn)單的 API 實(shí)現(xiàn)響應(yīng)的數(shù)據(jù)綁定和組合的視圖組件。下面這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目中v-model父子組件通信實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下。2017-12-12

