最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決vite打包后白屏之router-view不生效問題

 更新時(shí)間:2024年07月05日 15:41:49   作者:xiaban_  
這篇文章主要介紹了解決vite打包后白屏之router-view不生效問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

問題發(fā)現(xiàn)

項(xiàng)目打包后白屏,最開始是在打包后的dist文件中的index.html中路徑爆黃

控制臺報(bào)錯(cuò)找不到資源

簡單搜索后發(fā)現(xiàn)在vite.config.ts中配置base: "./"即可解決報(bào)錯(cuò)問題

import {defineConfig, loadEnv} from 'vite'  
import vue from '@vitejs/plugin-vue'  
// @ts-ignore  
import path from 'path'  
  
export default defineConfig(({ mode }) => {  
  
return {  
	base: "./",  
	plugins: [  
		vue()  
	],  
	resolve:{  
			alias:{  
			// @ts-ignore  
			'@': path.resolve(__dirname, './src')  
			}  
		}  
	}  
})

控制臺沒報(bào)錯(cuò)了,但是依舊是白屏

開了個(gè)新項(xiàng)目,打包后能夠正常使用,初步判定是路由的問題,然后在本項(xiàng)目的App.vue中加了123,發(fā)現(xiàn)打包后可以顯示123,但是還是不顯示其他的頁面

<script setup lang="ts">  
  
</script>  
  
<template>  
	<div>  
		123  
	<router-view/>  
	</div>  
</template>  
  
<style scoped>  
  
</style>

解決方案

最后搜索了router-view為什么不顯示,找到一篇文章說vite打包的項(xiàng)目需要在服務(wù)端環(huán)境才可以正常訪問,不能直接客戶端瀏覽器訪問

如果是vscode,可以下載live server模擬服務(wù)端環(huán)境,如果是webstorm,則可以右上角直接點(diǎn)開就是模擬服務(wù)端環(huán)境

但是結(jié)果還是白屏,后續(xù)發(fā)現(xiàn)是只有路由模式是history的情況下,router-view才會失效,改為hash模式就可以生效了。

import {createRouter, createWebHashHistory} from "vue-router";  
import pay from "@/page/pay.vue";  
  
const routes = [  
	{ path: '/', component: pay,redirect:"/pay" },  
	{ path: '/pay', component: pay }  
]  
  
const router = createRouter({  
	history: createWebHashHistory(),  
	// @ts-ignore  
	routes, 
})  
  
export default router;

值得注意的是,如果不模擬服務(wù)端環(huán)境,直接在文件訪問,還是會報(bào)錯(cuò)

補(bǔ)充

hash和history區(qū)別

簡單來說就是hash模式就是路徑中帶#的,history模式就是路徑中不帶#號

Hash模式

Hash 模式是通過監(jiān)聽 URL 中的 hash 值( # 及其后面的部分)來實(shí)現(xiàn)路由切換和組件渲染的。

優(yōu)點(diǎn):

  • 兼容性好,支持所有瀏覽器,包括不支持 HTML5 History API 的老舊瀏覽器。
  • 服務(wù)端無需做特殊配置。

缺點(diǎn):

  • URL 中有 # 號,不太美觀。
  • 部分老舊的瀏覽器可能會有效率問題。

Hash模式路由實(shí)現(xiàn)原理

在 hash 模式下,路由的實(shí)現(xiàn)主要依賴于 URL 的 hash 部分(即#后面的部分)。

History模式

History 模式利用 HTML5 History API 中的 pushState 和 replaceState 方法來實(shí)現(xiàn) URL 的導(dǎo)航,無需 # 號。

優(yōu)點(diǎn):

  • 更加美觀,看起來像標(biāo)準(zhǔn)的網(wǎng)站鏈接。
  • 符合 HTML5 標(biāo)準(zhǔn),支持瀏覽器的前進(jìn)/后退按鈕。

缺點(diǎn):

  • 部分老舊的瀏覽器不支持 HTML5 History API,需要使用墊片庫(Polyfill)來支持。
  • 需要在服務(wù)端做特殊配置,確保所有的 URL 都能找到應(yīng)用入口文件(例如 index.html),否則會出現(xiàn) 404 錯(cuò)誤。

History模式路由實(shí)現(xiàn)原理

在history模式下,路由的實(shí)現(xiàn)主要依賴于HTML5的History API。

結(jié)語

如果是實(shí)在想要history模式的,可以在本地打包完需要測試的,改為hash模式后,用live server插件或者直接webstorm打開即可成功測試,準(zhǔn)備部署后再修改為history模式

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue項(xiàng)目中token驗(yàn)證登錄(前端部分)

    Vue項(xiàng)目中token驗(yàn)證登錄(前端部分)

    這篇文章主要為大家詳細(xì)介紹了Vue項(xiàng)目中token驗(yàn)證登錄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • vue Tooltip提示動(dòng)態(tài)換行問題

    vue Tooltip提示動(dòng)態(tài)換行問題

    這篇文章主要介紹了vue Tooltip提示動(dòng)態(tài)換行問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue項(xiàng)目部署到j(luò)enkins的實(shí)現(xiàn)

    Vue項(xiàng)目部署到j(luò)enkins的實(shí)現(xiàn)

    本文主要介紹了Vue項(xiàng)目部署到j(luò)enkins的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Vue頁面骨架屏的實(shí)現(xiàn)方法

    Vue頁面骨架屏的實(shí)現(xiàn)方法

    在開發(fā)webapp的時(shí)候總是會受到首屏加載時(shí)間過長的影響,越來越多的APP采用了“骨架屏”的方式去提升用戶體驗(yàn)。這篇文章主要介紹了Vue頁面骨架屏的實(shí)現(xiàn)方法,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Nuxt.js實(shí)戰(zhàn)和配置詳解

    Nuxt.js實(shí)戰(zhàn)和配置詳解

    這篇文章主要介紹了Nuxt.js實(shí)戰(zhàn)和配置,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Element-UI清空表單及驗(yàn)證不生效的問題解決

    Element-UI清空表單及驗(yàn)證不生效的問題解決

    本文主要介紹了Element-UI清空表單及驗(yàn)證不生效的問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • Vue?dialog模態(tài)框的封裝方法

    Vue?dialog模態(tài)框的封裝方法

    這篇文章主要為大家詳細(xì)介紹了Vue?dialog模態(tài)框的封裝方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • Vue項(xiàng)目實(shí)現(xiàn)文件下載進(jìn)度條功能

    Vue項(xiàng)目實(shí)現(xiàn)文件下載進(jìn)度條功能

    大文件下載,花費(fèi)的時(shí)間比較長,沒有任何提示,用戶體驗(yàn)很差,需要優(yōu)化,提示文件在下載中,并且顯示進(jìn)度百分比,下面小編給大家?guī)砹薞ue項(xiàng)目實(shí)現(xiàn)文件下載進(jìn)度條功能,感興趣的朋友一起看看吧
    2024-03-03
  • IE9 elementUI文件上傳的問題解決

    IE9 elementUI文件上傳的問題解決

    這篇文章主要介紹了IE9 elementUI文件上傳的問題解決,有需要了解IE9 elementUI文件上傳的朋友可參考。希望此文章對各位有所幫助
    2018-10-10
  • 淺析Vue3中Excel下載模板并導(dǎo)入數(shù)據(jù)功能的實(shí)現(xiàn)

    淺析Vue3中Excel下載模板并導(dǎo)入數(shù)據(jù)功能的實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了Vue3中的Excel數(shù)據(jù)管理,即下載模板并導(dǎo)入數(shù)據(jù)功能的實(shí)現(xiàn),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以參考一下
    2024-05-05

最新評論

曲水县| 阜新| 象山县| 东丽区| 同江市| 滕州市| 乐清市| 孝感市| 岳池县| 阳高县| 浮梁县| 晋宁县| 永昌县| 乌兰县| 太保市| 南开区| 武鸣县| 江油市| 马山县| 鄂伦春自治旗| 麻阳| 探索| 金平| 巩留县| 萨嘎县| 自贡市| 谷城县| 太仆寺旗| 乌拉特中旗| 南召县| 太仓市| 河西区| 横山县| 武宣县| 多伦县| 渭源县| 原阳县| 泸溪县| 翁牛特旗| 鹤壁市| 兴安县|