最近在作項目,須要把項目部署在域名下的二級目錄,而且是在用vue-router的history 模式。html
咱們都知道vue-router 的兩種前端基本訪問模式 hash 和history 。hash 模式後面帶#,打包的時候只須要把絕對路徑(/)換成相對對路徑(./),就能夠部署在任何地方,不須要服務器配合,可是很差看,因此咱們通常選擇history 模式,可是history 模式須要配合服務器的部署。前端
本文主要是在vue-cli3版本下,對部署在域名的二級目錄下作四處的配置:vue
1 export default new VueRouter({ 2 mode:"history", 3 base:"/web",
注意: baseUrl 從 Vue CLI 3.3 起已棄用,請使用publicPath。nginx
module.exports = { publicPath:"/web" }
<meta base ="/web/">
server { listen 80; server_name localhost; root /home/wwwroot/; location /web { try_files $uri $uri/ /web/index.html; } }
到此,配置和部署已經完成了,將打包好的前端靜態資源放在域名指定的根目錄下的二級(多級目錄配置同上)錄便可,web
注意,以上配置是針對在history模式,部署在域名下的二級目錄以上的 配置,hash 模式 和 history 模式部署在域名根目錄不須要那麼多配置vue-router
本人測試過部署過,只要按照以上配置四個地方,徹底沒有問題,可是有不對之處,還請你們指出,謝謝....vue-cli