91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

淺談vue項目4rs vue-router上線后history模式遇到的坑

發布時間:2020-10-22 22:32:55 來源:腳本之家 閱讀:183 作者:二葉扁舟 欄目:web開發

此次項目開發完后準備打包,因為hash模式的路徑帶#看著實在是有點丑,所以采用history模式。因為本次項目屬于以前網站重構,但是seo問題,所以需要以前的一些地址路徑寫,所以vue-router的路徑全部重改了。打包后查了網上一大堆,都說要把config里的index.js 里的build里的

assetsPublicPath: '/'改成‘./',打包上線發現在hash模式下是沒問題的,

但一旦改成history模式,有些動態js文件的路徑都是錯的。無奈之下死馬當活馬醫,把‘./'改回了‘/'在history模式

下再次打包上線,發現點擊跳轉頁面都是正常的,有些小激動。但是history模式的通病就是不能刷新,

因為原來跳轉時其實不是通過請求服務器的,而是通過js操作history的API改變地址完成的。

當你刷新了之后瀏覽器就耿直的去請求服務器了,然而服務器沒有這個路由,于是就404了。

解決方法1:可以做個代理,讓所有訪問服務器的地址都返回同一個入口文件。(推薦使用)

解決方法2:采用靜態文件的形式讓每個目錄都存在就不會報錯了

我們服務器是采用nginx,我不會,沒弄,就自己用了nodejs和express搭建了個簡單服務器,并采用了官方推薦的中間件

connect-history-api-fallback

使用方法:

在服務器app.js文件里引入

var history = require('connect-history-api-fallback');
然后在app綁定路由之前綁定中間件,
app.use(history({ 
rewrites: [ 
{ from: /^\/wap\/.*$/, to: '/index.html' }//這個是正確方式 
]}));

我一開始

app.use(history({
rewrites: [
{ from: /^\/wap\/.*$/, to: '/' }
]
}));

這樣的,發現刷新是正常的,但是路徑后面總是多了個"/",看著很是奇怪,就試著改成當前下的html文件,發現真的可以。從此大功告成。

以上這篇淺談vue項目4rs vue-router上線后history模式遇到的坑就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

高台县| 张家口市| 平南县| 金山区| 霞浦县| 孝昌县| 榆树市| 东至县| 辽阳县| 乌海市| 隆子县| 札达县| 安远县| 二手房| 江口县| 洞头县| 西贡区| 来凤县| 贺兰县| 中牟县| 琼结县| 葫芦岛市| 常宁市| 苏州市| 上饶市| 凤城市| 孝义市| 镇安县| 桃园县| 仙居县| 七台河市| 吴川市| 忻城县| 巩义市| 张家港市| 康马县| 福贡县| 渝中区| 桑日县| 万山特区| 内江市|