vue history 模式打包部署在域名的二級目錄的配置指南

天高任鳥飛吧發表於2019-07-01

  最近在做專案,需要把專案部署在域名下的二級目錄,並且是在用vue-routerhistory 模式。

  我們都知道vue-router 的兩種前端基本訪問模式 hash history hash 模式後面帶#,打包的時候只需要把絕對路徑(/)換成相對對路徑(./),就可以部署在任何地方,不需要伺服器配合,但是不好看,所以我們一般選擇history 模式,但是history 模式需要配合伺服器的部署。

 

本文主要是在vue-cli3版本下,對部署在域名的二級目錄下做四處的配置:

1. vue-router 路由的檔案的配置,根據自己部署的二級目錄填寫 

1  export default new VueRouter({
2     mode:"history",
3     base:"/web",

 

2.vue.config.js配置檔案(如果沒有新建一個,專案根目錄下)

 注意: baseUrl  Vue CLI 3.3 起已棄用,請使用publicPath

module.exports = {
  publicPath:"/web"
}

 

3.在入口檔案中index.html head 標籤內加入 

 <meta base ="/web/">

 

4.最後就是部署配置,以nginx 為例   

server {
    listen 80;
    server_name localhost;
    root /home/wwwroot/;
    location /web {
        try_files $uri $uri/ /web/index.html;
    }
}

到此,配置和部署已經完成了,將打包好的前端靜態資源放在域名指定的根目錄下的二級(多級目錄配置同上)錄即可,

注意,以上配置是針對在history模式,部署在域名下的二級目錄以上的 配置,hash 模式 和 history 模式部署在域名根目錄不需要那麼多配置

本人測試過部署過,只要按照以上配置四個地方,完全沒有問題,但是有不對之處,還請大家指出,謝謝....

 

相關文章