關於nginx部署vue項目的兩個問題

首先我使用的是後端接口+前端vue的形式,這樣就涉及到跨域的問題。我是這樣配置的:html

server {
        listen       80;
        server_name  www.liangyp.xyz;//訪問網址

        location / {
                root  /var/www/VueApp;
                index  index.html index.htm;
        }
                //這裏是配置的若是訪問apis則是轉到後端接口,這樣就避免了跨域
                location /apis {
                        rewrite  ^/apis/(.*)$ /$1 break;
                        proxy_pass   http://127.0.0.1:3000/;
       }
}

而後還遇到一個問題:我在vue中使用的是vue-router跳轉的,若是跳到二級菜單,刷新頁面的話會出現404頁面。這是由於在vue中使用的是js渲染的虛擬目錄,而在nginx配置中並無實際的資源,全部會出現404。直接上配置:前端

server {
        listen       80;
        server_name  www.liangyp.xyz;

        location / {
                root  /var/www/VueApp;
                index  index.html index.htm;
                try_files $uri $uri/ @router;
        }
        location @router {
            rewrite ^.*$ /index.html last;
        }

                location /apis {
                        rewrite  ^/apis/(.*)$ /$1 break;
                        proxy_pass   http://127.0.0.1:3000/;
       }
}

加上這些後就能夠正常訪問啦。vue

相關文章
相關標籤/搜索