欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue-router的HTML5 History 模式設(shè)置

 更新時(shí)間:2018年09月08日 14:24:24   作者:darkerXi  
這篇文章主要介紹了vue-router的HTML5 History模式設(shè)置,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

VUE是當(dāng)下最火爆的前端框架之一,vue-router是vue項(xiàng)目中幾乎都會(huì)用到的組件,然而體驗(yàn)一時(shí)爽,其實(shí)坑不少。本篇經(jīng)驗(yàn)將詳細(xì)介紹vue-router的兩種mode效果和開(kāi)發(fā)測(cè)試環(huán)境下的問(wèn)題,并給出解決方案。

vue-router的HTML5 History 模式,這種模式充分利用 history.pushState API 來(lái)完成 URL 跳轉(zhuǎn)而無(wú)須重新加載頁(yè)面。

const router = new VueRouter({
 mode: 'history',
 routes: [...]
})

當(dāng)你使用 history 模式時(shí),URL 就像正常的 url,例如 http://yoursite.com/user/id, 就是長(zhǎng)這樣的!

不過(guò)這種模式要玩好,還需要后臺(tái)配置支持。因?yàn)槲覀兊膽?yīng)用是個(gè)單頁(yè)客戶(hù)端應(yīng)用,如果后臺(tái)沒(méi)有正確的配置,當(dāng)用戶(hù)在瀏覽器直接訪問(wèn) http://oursite.com/user/id 就會(huì)返回 404,這就尷尬了。

所以,你要在服務(wù)端增加一個(gè)覆蓋所有情況的候選資源:如果 URL 匹配不到任何靜態(tài)資源,則應(yīng)該返回同一個(gè) index.html 頁(yè)面,這個(gè)頁(yè)面就是你 app 依賴(lài)的頁(yè)面。

目前后端服務(wù)器有Apache、nginx、原生 Node.js、基于 Node.js 的 Express、Internet Information Services (IIS)、Caddy、Firebase 主機(jī)等。

先給一個(gè)官方標(biāo)準(zhǔn)版配置的傳送門(mén),請(qǐng)戳這里→ https://router.vuejs.org/zh/guide/essentials/history-mode.html

既然是官方給出的配置,那肯定就會(huì)說(shuō)的很官方咯~

按照官方給出的示例,將道理是成功的,但是官方給出的只局限于這個(gè)項(xiàng)目在服務(wù)器的根目錄下!
如果你的項(xiàng)目沒(méi)有放在根目錄下,那么就是這么的不講道理。

下面是在實(shí)際開(kāi)發(fā)中碰到的問(wèn)題。

我們的后端服務(wù)器是nginx,所以按照官方的給出的配置,找到nginx.conf,照抄代碼,修改完后重啟服務(wù)器,講道理是成功的。

server
{
  listen 80;
  server_name oursite.com;
  location /test/ {      
    alias /usr/local/test/;
    index index.htm index.html;
    #上面的就是一些常規(guī)配置,下面這個(gè)才是重點(diǎn)
    try_files $uri $uri/ /index.html;

    #這里沒(méi)有采用官方給出處理404錯(cuò)誤頁(yè)面的方案
    #方案一(把所有沒(méi)有后綴名的請(qǐng)求如果404都跳轉(zhuǎn)到index.html,我們沒(méi)有采用)
    #error_page 404 /test/index.html;

    #方案二(404的方式,不是特別完美。會(huì)有瀏覽器留下404的狀態(tài)(容易被第三方劫持),以下方式可以避免被第三方劫持?。?
    if (!-e $request_filename) {
      rewrite ^/(.*) /test/index.html last;
      break;
    }
  }
}

但是,事實(shí)就是這么的不講道理,我們并沒(méi)有成功!這就令人很是郁悶了,心中一萬(wàn)只神獸羊駝,奔騰而過(guò)~ 為什么沒(méi)有成功呢,都是按部就班做的呀,完全不講道理!

而真相只有一個(gè),那就是~~~

路由文件中的路徑有問(wèn)題

const router = new VueRouter({
 mode: 'history',
 routes: [
  { path: '/test/', component: YourComponent },
  { path: '/test/a', component: YourComponent },
  { path: '/test/b:x', component: YourComponent }
 ]
})

在路由文件中所有的路徑前面加上服務(wù)器下項(xiàng)目所在的文件名即可,當(dāng)然也包括<router-link>和this.$router.push()中的路徑,不然又是不講道理的。

這只是在nginx服務(wù)器下的一種解決方案,至于別的服務(wù)器應(yīng)該也是同理的。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • react和vue的事件處理差異詳解

    react和vue的事件處理差異詳解

    這篇文章主要介紹了react和vue的事件處理差異,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • vue中前進(jìn)刷新、后退緩存用戶(hù)瀏覽數(shù)據(jù)和瀏覽位置的實(shí)例講解

    vue中前進(jìn)刷新、后退緩存用戶(hù)瀏覽數(shù)據(jù)和瀏覽位置的實(shí)例講解

    今天小編就為大家分享一篇vue中前進(jìn)刷新、后退緩存用戶(hù)瀏覽數(shù)據(jù)和瀏覽位置的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • Map.vue基于百度地圖組件重構(gòu)筆記分享

    Map.vue基于百度地圖組件重構(gòu)筆記分享

    這篇文章主要為大家分享了Map.vue基于百度地圖組件重構(gòu)筆記,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • vuex通過(guò)getters訪問(wèn)數(shù)據(jù)為undefined問(wèn)題及解決

    vuex通過(guò)getters訪問(wèn)數(shù)據(jù)為undefined問(wèn)題及解決

    這篇文章主要介紹了vuex通過(guò)getters訪問(wèn)數(shù)據(jù)為undefined問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue3中使用ref語(yǔ)法糖的示例代碼

    vue3中使用ref語(yǔ)法糖的示例代碼

    Vue3提了一個(gè)Ref?Sugar的RFC,即ref語(yǔ)法糖,目前還處理實(shí)驗(yàn)性的(Experimental)階段,今天通過(guò)本文給大家介紹vue3中使用ref語(yǔ)法糖的相關(guān)知識(shí),感興趣的朋友跟隨小編一起看看吧
    2022-09-09
  • Element中Select選擇器的實(shí)現(xiàn)

    Element中Select選擇器的實(shí)現(xiàn)

    本文主要介紹了Element中Select選擇器的實(shí)現(xiàn),文中根據(jù)實(shí)例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Vue.js每天必學(xué)之表單控件綁定

    Vue.js每天必學(xué)之表單控件綁定

    Vue.js每天必學(xué)之表單控件綁定,如何在表單控件元素上創(chuàng)建雙向數(shù)據(jù)綁定,感興趣的小伙伴們可以參考一下
    2016-09-09
  • 原生echart和vue-echart的使用詳解

    原生echart和vue-echart的使用詳解

    這篇文章主要為大家詳細(xì)介紹了原生echart和vue-echart的使用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02
  • Vuejs中的watch實(shí)例詳解(監(jiān)聽(tīng)者)

    Vuejs中的watch實(shí)例詳解(監(jiān)聽(tīng)者)

    本文通過(guò)實(shí)例代碼給大家介紹了Vuejs中的watch,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2020-01-01
  • 在Vue開(kāi)發(fā)過(guò)程中解決和預(yù)防內(nèi)存泄漏問(wèn)題的方法詳解

    在Vue開(kāi)發(fā)過(guò)程中解決和預(yù)防內(nèi)存泄漏問(wèn)題的方法詳解

    Vue作為一款流行的前端框架,已經(jīng)在許多項(xiàng)目中得到廣泛應(yīng)用,然而,隨著我們?cè)赩ue中構(gòu)建更大規(guī)模的應(yīng)用程序,我們可能會(huì)遇到一個(gè)嚴(yán)重的問(wèn)題,那就是內(nèi)存泄漏,因此,我們需要認(rèn)識(shí)到在Vue開(kāi)發(fā)過(guò)程中,內(nèi)存泄漏問(wèn)題的重要性,本文將給大家介紹如何解決和預(yù)防內(nèi)存泄漏問(wèn)題
    2023-10-10

最新評(píng)論