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

溫馨提示×

溫馨提示×

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

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

vue-router history模式服務器端如何配置

發布時間:2022-11-22 09:52:18 來源:億速云 閱讀:164 作者:iii 欄目:開發技術

這篇文章主要介紹了vue-router history模式服務器端如何配置的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇vue-router history模式服務器端如何配置文章都會有所收獲,下面我們一起來看看吧。

history路由

history模式是指使用HTML5的historyAPI實現客戶端路由的模式,它的典型表現就是去除了hash模式中url路徑中的#。在使用Vue-Router時開啟history模式非常容易,只需要在實例化路由時傳入mode:'history'配置項即可,但缺少服務端支持時,基于historyAPI的路由無法從url地址欄直接訪問指定頁面,這個很容易理解,因為url地址欄里輸入后回車相當于發送了一次GET請求,那么不帶#的路由路徑就和普通的API接口是一樣的,既然服務端并沒有定義這樣的接口,那直接訪問時出現404頁面就很正常了。

官方示例

官方提供了很多處理這種場景的方式,以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)
})

不難看出,它的處理思路就是所有請求都強制重定向到首頁,相當于服務端屏蔽了訪問資源不存在的情況,而將路由的工作留給客戶端自己去處理,這樣啟用了history模式的前端路由在直接定位到子頁面時就不會報錯了。

vue-router history模式配置

vue-router的history模式需要將路由配置中的mode設置成history,同時還需要在服務器端進行相應的配置。

與hash模式相比,在history模式下,頁面的url中會少一些如#這樣的符號:

hash:www.example.com/#/login

history:www.example.com/login

單頁應用程序中,在history模式下瀏覽器會向服務器請求這個頁面,但是服務器端并不存在這個頁面于是就返回404。所以這個時候就需要給服務器端進行配置:除了靜態資源以外都需要返回單頁應用的index.html。

服務器配置——nodejs

在nodejs服務器中需要引入connect-history-api-fallback這個模塊來處理history模式,并在使用處理靜態資源的中間件前使用這個模塊:

const path = require('path')
// 導入處理history模式的模塊
const history = require('connect-history-api-fallback')
const express = require('express')

const app = express()

// 注冊處理history模式的中間件
app.use(history())
// 處理靜態資源的中間件
app.use(express.static(path.join(__dirname, './web')))

app.listen(3000, () => {
    console.log('service started at port 3000')
})

服務器配置——nginx

先將打包后的文件放入html文件夾下,再打開conf文件夾下nginx.conf文件,修改如下配置:

http {
    # ...other config
    server {
        # ...other config
        location / {
            root html;
            index index.html index.htm;
            try_files $uri $uri/ /index.html;
        }
    }
}

關于“vue-router history模式服務器端如何配置”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“vue-router history模式服務器端如何配置”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

黎平县| 三明市| 宁远县| 广河县| 佳木斯市| 台北县| 金沙县| 宿松县| 铁岭市| 温泉县| 天长市| 玛纳斯县| 遂溪县| 渭源县| 奈曼旗| 兴业县| 荃湾区| 朝阳区| 北宁市| 新野县| 秭归县| 九龙坡区| 德阳市| 贞丰县| 九寨沟县| 靖西县| 开化县| 静安区| 宝坻区| 荔波县| 大连市| 钦州市| 松江区| 瑞丽市| 万全县| 弥勒县| 原平市| 波密县| 泊头市| 尤溪县| 崇左市|