單頁應用history模式nginx配置

2022-09-07 14:27:16 字數 1241 閱讀 3508

hash 模式時將路徑轉換為/#/***/***模式,頁面不重新整理,請求資源路徑不變,從而實現內容的跳轉。

history 模式直接去掉了/#/,如果伺服器不配置的話,直接就是 404。

伺服器實現 history 模式的原理:

只要請求某個應用下的資源,都返回這個應用的入口回去(index.html),路徑什麼的都交給入口處理。

nginx 有很多方法都能實現這個功能,這裡介紹通過 error_page 實現的方法

以 vue 為例:

vue 路由基礎路徑設定

// ***.com 直接訪問應用時無需修改 base

const router =

newvuerouter

()

// ***.com/*** 訪問應用時需修改 base

const router =

newvuerouter

()

vue 根路徑配置

history 模式下不能使用相對路徑./,因為 history 模式下路徑不是以 /#/ 表示,使用相對路徑會使路徑出錯導致某些資源 404

// ***.com 直接訪問應用時設為 /

module.exports =

// ***.com/*** 直接訪問應用時設為 ***/

module.exports =

nginx 配置

# 根據實際情況設定一下 root

# 可以寫 location 外面(全域性),也可以寫 location 裡面(區域性)

root /www/server/nginx/html;

# ***.com 訪問應用

location /

# ***.com/*** 訪問應用

location /demo

利用 error_page 的特性,只要是 404 頁面都返回相應的入口檔案回去。

還可以使用 try_files 實現

# ***.com 訪問應用

location /

還可以使用 rewrite 實現 … nginx nb

單頁應用和多頁應用

每一次頁面跳轉的時候,後台伺服器都會給返回乙個新的html文件,這種型別的 也就是多頁 也叫做多頁應用。為什麼多頁應用的首屏時間快?首屏時間叫做頁面首個螢幕的內容展現的時間,當我們訪問頁面的時候,伺服器返回乙個html,頁面就會展示出來,這個過程只經歷了乙個http請求,所以頁面展示的速度非常快。為...

單頁應用 vs 多頁應用

web專案可分為單頁應用 和 多頁應用。單頁應用,就是只有乙個頁面,其他內容,估計就是動態載入,用從載入其他頁面片段 請求後台 這種方式來完成。這麼一說,我之前做的,其實都是多頁應用。相比之下,單頁應用的優勢是什麼呢?1 頁面切換非常快,不會出現白屏,還可以作出過渡效果 2 公用的js和css一次性...

6 4 多頁應用與單頁應用

每一次頁面的跳轉,後端都會返回乙個新的html檔案 首屏 頁面首個螢幕的內容展現出來的時間,因為訪問頁面的時候,伺服器返回html,然後頁面就會被展示出來,這個過程只經歷了乙個http請求,所以頁面展示的速度非常快 搜尋引擎是可以識別html中的內容的,而我們每乙個頁面,所有的內容都放在html中 ...