鍍金池/ 問答/HTML5  Linux  HTML/ create-react-app 打包的應(yīng)用和 Express 項(xiàng)目怎樣部署在同

create-react-app 打包的應(yīng)用和 Express 項(xiàng)目怎樣部署在同一臺(tái)服務(wù)器上?

我用 create-react-app 打包出來了 build 目錄,已經(jīng)放在服務(wù)器上(騰訊云,centos),跑在默認(rèn)的5000端口;同時(shí)還有一個(gè) Express 的項(xiàng)目,為前面的 React 應(yīng)用提供接口,跑在4000上。在本地跑的時(shí)候完全沒問題,在 create-react-app 的 package.json 里設(shè)置 proxy: localhost:4000 就萬事大吉了,然而服務(wù)器上怎么搞呢?主要是 nginx 怎么配置?

現(xiàn)在的 nginx 是這樣的,沒改過。在瀏覽器里訪問服務(wù)器 ip,文檔和靜態(tài)資源都沒問題,就是 ajax 返回的都是 index.html 的內(nèi)容。

server {
        listen       80;
        server_name  localhost;
        location / {
            proxy_pass http://127.0.0.1:5000;
        }
 }
 

為這個(gè)急了一天也沒找到有效的解決方案,感謝大家了。

回答
編輯回答
厭惡我

比如,你的ajax接口的地址都為 /api/......。
此時(shí),需要nginx配置:

server {
    listen 5000;
    location / {
        root /home/xxx; #前端部署地址
        index index.html;
        try_files $uri /index.html;
    }
    location /api {
        proxy_pass http://localhost:4000/api;
     }
}
2018年8月30日 05:03
編輯回答
浪蕩不羈

請(qǐng)問樓主 前端代碼和后面代碼是分別npm run build 嗎?

2017年3月18日 10:00