国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Vue路由模式(history模式 刷新頁面空白解決方案)

這篇具有很好參考價值的文章主要介紹了Vue路由模式(history模式 刷新頁面空白解決方案)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


前言

vue路由的三種模式 Hash模式History模式、abstract 模式

一、Hash模式

  • Vue3:
  • Hash 模式是用 createWebHashHistory() 創(chuàng)建的:
import { createRouter, createWebHashHistory } from 'vue-router'
const router = createRouter({
  history: createWebHashHistory(),
  routes: [
    //...
  ],
})
  • Vue2
import Router from 'vue-router'
const router = new Router({
	node: 'hash',
	routes: [
		//...
	]
})

它在內(nèi)部傳遞的實際 URL 之前使用了一個哈希字符(#)。由于這部分 URL 從未被發(fā)送到服務(wù)器,所以它不需要在服務(wù)器層面上進行任何特殊處理。不過,它在 SEO 中確實有不好的影響。如果你擔心這個問題,可以使用 HTML5 模式。

二、HTML5 (History)模式

  • Vue3
  • History模式是用 createWebHistory() 創(chuàng)建的:
import { createRouter, createWebHistory} from 'vue-router'
const router = createRouter({
  history: createWebHistory(),
  routes: [
    //...
  ],
})
  • Vue2
import Router from 'vue-router'
const router = new Router({
	node: 'history',
	routes: [
		//...
	]
})

當使用這種歷史模式時,URL也會看起來很 “正?!保?https://example.com/user/id

history.go(-2);//后退兩次
history.go(2);//前進兩次
history.back(); //后退
hsitory.forward(); //前進

不過,問題來了。由于我們的應(yīng)用是一個單頁的客戶端應(yīng)用,如果沒有適當?shù)姆?wù)器配置,用戶在瀏覽器中直接訪問 https://example.com/user/id,就會得到下圖 404 的錯誤。這就尷尬了。Vue路由模式(history模式 刷新頁面空白解決方案),服務(wù)器相關(guān)配置及使用,nginx,vue

Tips:本人參與的項目常見部署訪問基本是Nginx,偶爾有使用Internet Information Services (IIS)

  • 解決方法如下:

1、nginx配置

修改nginx.conf文件如下:

location / {
  try_files $uri $uri/ /index.html;
}

or

location / {
     try_files $uri $uri/ @router;#需要指向下面的@router否則會出現(xiàn)vue的路由在nginx中刷新出現(xiàn)404
     index index.html index.htm;
 }
 #對應(yīng)上面的@router,主要原因是路由的路徑資源并不是一個真實的路徑,所以無法找到具體的文件
 #因此需要rewrite到index.html中,然后交給路由在處理請求資源
location @router {
    rewrite ^.*$ /index.html last; # /index.html 為項目根目錄
}

2、Internet Information Services (IIS)配置

a、安裝 IIS UrlRewrite

b、在網(wǎng)站的根目錄下創(chuàng)建一個 web.config 文件,內(nèi)容如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Handle History Mode and custom 404/500" stopProcessing="true">
          <match url="(.*)" />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Rewrite" url="/" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

三、Abstract 模式

abstract 是vue路由中的第三種模式,本身是用來在不支持瀏覽器API的環(huán)境中,暫未實際使用過,后期補充相關(guān)實現(xiàn)

  • Vue3
  • 在 SSR 上使用時,你需要手動傳遞相應(yīng)的 history:
  • Abstract 模式是用 createMemoryHistory() 創(chuàng)建的:
// router.js
let history = isServer ? createMemoryHistory() : createWebHistory()
let router = createRouter({ routes, history })
// 在你的 server-entry.js 中的某個地方
router.push(req.url) // 請求 url
router.isReady().then(() => {
  // 處理請求
})

總結(jié)

以上就是Vue不同的歷史模式內(nèi)容,本文簡單介紹了Vue History路由模式的使用,而具體的項目配置需根據(jù)項目實際情況配置。

感謝閱讀!
參考:Vue路由的不同的歷史模式文章來源地址http://www.zghlxwxcb.cn/news/detail-527579.html

到了這里,關(guān)于Vue路由模式(history模式 刷新頁面空白解決方案)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • vue3在運行時路由可以正常跳轉(zhuǎn),但是頁面空白,刷新頁面恢復(fù)正常[已解決]

    vue3在運行時路由可以正常跳轉(zhuǎn),但是頁面空白,刷新頁面恢復(fù)正常,在網(wǎng)上尋找很久說是keepAlive的原因,后來看了看我的代碼~ 原來的代碼: 改后的代碼: 由此可見,根元素一定要由一個div去包裹??! template必須有且只能有一個div 在這樣才會正常顯示~ 原理: 這里我們要先

    2023年04月27日
    瀏覽(23)
  • vue項目history模式刷新404問題

    vue項目history模式部署到服務(wù)器后 ,根路徑訪問沒有問題,但是進入其他功能再刷新頁面就會出現(xiàn)404,因為你沒在nginx或者apache配置上面加上重定向跳轉(zhuǎn)。 解決辦法,只需要加上這段配置: nginx配置內(nèi)容: apache配置內(nèi)容: 這句配置的意思是每次匹配url路徑時候找不到對應(yīng)靜態(tài)

    2024年02月11日
    瀏覽(28)
  • vue3 關(guān)于動態(tài)路由刷新出現(xiàn)空白頁最優(yōu)解

    原因:刷新頁面的時候動態(tài)路由會刷新掉,然后動態(tài)路由會重新加載, 而匹配路由會在加載路由之前 ,所以會導(dǎo)致空白頁 解決辦法:遞歸再調(diào)用beforEach,或者直接跳回首頁 在你加載路由的地方 遞歸調(diào)用:next({ …to, replace: true });(慎用,如果你的后臺管理table是帶標簽會有

    2024年02月15日
    瀏覽(28)
  • VUE 配置history路由模式配置

    vue-router 默認 hash 模式 —— 使用 URL 的 hash 來模擬一個完整的 URL,于是當 URL 改變時,頁面不會重新加載。 如果不想要很丑的 hash,我們可以用路由的 history 模式,這種模式充分利用 history.pushState API 來完成 URL 跳轉(zhuǎn)而無須重新加載頁面。 當你使用 history 模式時,URL 就像正常

    2024年02月10日
    瀏覽(25)
  • Vue 路由:Hash 模式與 History 模式詳解

    Vue 路由:Hash 模式與 History 模式詳解

    ????????Vue 是一款流行的前端框架,它提供了強大的路由功能,用于構(gòu)建單頁應(yīng)用程序(SPA)。Vue 路由有兩種模式:Hash 模式和 History 模式。本文將詳細介紹這兩種模式的原理、特點和使用場景,幫助你在 Vue 項目中選擇適合的路由模式。 ????????Hash 模式是 Vue 路由的

    2024年02月06日
    瀏覽(25)
  • 解決Vue3+Vite3 打包部署到nginx后配置非根目錄刷新頁面報錯空白

    解決Vue3+Vite3 打包部署到nginx后配置非根目錄刷新頁面報錯空白

    報錯內(nèi)容 解決方法 router文件 vite.config.ts nginx.conf 配置中路徑apps是我自建的存放前端頁面的文件夾 起關(guān)鍵作用的是 try_files $uri $uri/ /demo/index.html ,當然上面項目文件夾demo也需保持一致 alias 后面的路徑是Vue項目打包后dist靜態(tài)文件服務(wù)器存放路徑,一般在nginx下面建一個文件夾

    2024年02月11日
    瀏覽(99)
  • Vue學習筆記 之 History 路由 和 Hash 路由的區(qū)別 及 History 模式時,Nginx的配置方式

    一、History 模式、Hash 模式 ??Vue Router 是 Vue.js 官方的路由管理器,用于構(gòu)建單頁應(yīng)用的前端路由。它允許你通過定義路由配置來映射不同的 URL 到對應(yīng)的組件,實現(xiàn)頁面間的跳轉(zhuǎn)和導(dǎo)航。Vue Router 支持兩種路由模式:history 模式和 hash 模式。 1、History 模式 ??在 History 模式

    2024年02月07日
    瀏覽(18)
  • Vue2嵌入HTML頁面空白、互相傳參、延遲加載等問題解決方案

    Vue2嵌入HTML頁面空白、互相傳參、延遲加載等問題解決方案

    一、需求分析 ? ? ? 最近做的一個用H5加原生開發(fā)的html項目,現(xiàn)需要集成到Vue2.0項目里面來。遇到的相關(guān)問題做個記錄和總結(jié),以便能幫到大家避免踩坑。 二、問題記錄 1、頁面空白問題 ? ? ?將html頁面通過iframe的方式嵌入進來之后,發(fā)現(xiàn)頁面是空白的,不顯示任何元素,

    2024年02月13日
    瀏覽(32)
  • vue路由的兩種模式 hash與history

    vue路由的兩種模式 hash與history

    Vue 路由是 Vue.js 框架提供的一種機制,用于實現(xiàn)單頁面應(yīng)用(Single-Page Application,簡稱 SPA)中的前端路由功能。它允許通過定義不同的路由路徑和對應(yīng)的組件,來管理應(yīng)用程序中不同頁面或視圖的展示和切換。 Vue 路由使用了瀏覽器的 History API 或 hash(#)來實現(xiàn)路由導(dǎo)航。通

    2024年02月10日
    瀏覽(27)
  • vue3如何切換hash/history兩種路由模式

    本文介紹了在vue3中,如何使用history和hash兩種路由模式的方法 1、history模式 使用createWebHistory 2、hash模式 使用createWebHashHistory 綜上所述: history 對應(yīng) createWebHistory hash 對應(yīng) createWebHashHistory

    2024年02月13日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包