uni-app HTML5 History 模式

vue-router 默認(rèn) hash 模式 —— 使用 URL 的 hash 來模擬一個(gè)完整的 URL,于是當(dāng) URL 改變時(shí),頁面不會(huì)重新加載裸燎。

如果不想要很丑的 hash茅逮,我們可以用路由的 history 模式,這種模式充分利用 history.pushState API 來完成 URL 跳轉(zhuǎn)而無須重新加載頁面嚼蚀。

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

當(dāng)你使用 history 模式時(shí),URL 就像正常的 url管挟,例如 http://yoursite.com/user/id轿曙,也好看!

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

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

#后端配置例子

#Apache

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.html [L]
</IfModule>

除了 mod_rewrite羡疗,你也可以使用 FallbackResource

#nginx

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

#原生 Node.js

const http = require('http')
const fs = require('fs')
const httpPort = 80

http.createServer((req, res) => {
  fs.readFile('index.htm', 'utf-8', (err, content) => {
    if (err) {
      console.log('We cannot open "index.htm" file.')
    }

    res.writeHead(200, {
      'Content-Type': 'text/html; charset=utf-8'
    })

    res.end(content)
  })
}).listen(httpPort, () => {
  console.log('Server listening on: http://localhost:%s', httpPort)
})
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末别洪,一起剝皮案震驚了整個(gè)濱河市叨恨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌挖垛,老刑警劉巖痒钝,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件秉颗,死亡現(xiàn)場離奇詭異,居然都是意外死亡送矩,警方通過查閱死者的電腦和手機(jī)蚕甥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來栋荸,“玉大人菇怀,你說我怎么就攤上這事∩慰椋” “怎么了爱沟?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長匆背。 經(jīng)常有香客問我呼伸,道長,這世上最難降的妖魔是什么钝尸? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任括享,我火速辦了婚禮,結(jié)果婚禮上珍促,老公的妹妹穿的比我還像新娘铃辖。我一直安慰自己,他們只是感情好猪叙,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布娇斩。 她就那樣靜靜地躺著,像睡著了一般沐悦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上五督,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天藏否,我揣著相機(jī)與錄音,去河邊找鬼充包。 笑死副签,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的基矮。 我是一名探鬼主播淆储,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼家浇!你這毒婦竟也來了本砰?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤钢悲,失蹤者是張志新(化名)和其女友劉穎点额,沒想到半個(gè)月后舔株,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡还棱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年载慈,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片珍手。...
    茶點(diǎn)故事閱讀 38,724評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡办铡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出琳要,到底是詐尸還是另有隱情寡具,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布焙蹭,位于F島的核電站晒杈,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏孔厉。R本人自食惡果不足惜拯钻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望撰豺。 院中可真熱鬧粪般,春花似錦、人聲如沸污桦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽凡橱。三九已至小作,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間稼钩,已是汗流浹背顾稀。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留坝撑,地道東北人静秆。 一個(gè)月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像巡李,于是被迫代替她去往敵國和親抚笔。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內(nèi)容