ThinkJS前端搭配vue時的Nginx配置


 

Thinkjs 作為奇舞團開源的nodejs mvc框架之一,引起了很多NodeJS程序員的親賴。但是其關於靜態文件處理部分支持不夠完善,主要是體現在SPA單頁應用,之前在ThinkJS 2.*版本時寫過一個關於處理單頁應用靜態資源的middleware think-resource-spa,但是這個只是建議在開發調試環境中使用,並不是解決方案。

 

一般作為線上服務,都會使用Nginx作為靜態服務資源代理,然后ThinkJS官網的nginx默認配置只是普通代理,所以在官方群里就經常有人聞到,前端用ng2或vue怎么配nginx等問題。

 

所以這里我將對修改后的配置文件分享給大家。

 

 

 1 server {
 2     listen 80;
 3     server_name **.com www.***.com;
 4     root /your/server/path/of/www;
 5     set $node_port 9000;
 6     
 7     location / {
 8         proxy_http_version 1.1;
 9         proxy_set_header X-Real-IP $remote_addr;
10         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
11         proxy_set_header Host $http_host;
12         proxy_set_header X-NginX-Proxy true;
13         proxy_set_header Upgrade $http_upgrade;
14         proxy_set_header Connection "upgrade";
15         proxy_pass http://127.0.0.1:$node_port$request_uri;
16         proxy_redirect off;
17     }
18 
19     #靜態文件
20     location ~ /static/ {
21         etag         on;
22         expires      max;
23     }
24     #spa app 主目錄
25     location ~ /oneapp {
26         try_files $uri $uri/ /oneapp/index.html;
27     }
28 }

 

 

1. 將所有請求代理到ThinkJS服務

2. 優先處理static請求

3. 更優先處理oneapp請求

 

我這里前端是使用vue2,這里前端需要配合修改的地方是:vue 配置base href 為“/oneapp”, 然后打包輸出到www目錄下即可

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM