2017-04-22 28 views
1

我在port 8080上構建了一個簡單的express express api服務器。在另一個端口(3000),我正在構建客戶端,並從我的express API端點獲取數據。爲此,我將不得不在獨立的端口上運行這兩個應用程序。我怎樣才能在相同的端口運行這兩個例如。 8080? 我對此很新穎。幫助將非常感激。如何在同一端口上啓動react和node api服務器?

回答

2

1 /如果因爲CORS問題需要它們在相同的端口上運行,則可以在API服務器上設置CORS headers以允許來自原始請求的任何內容(和良好做法):3000。要在同一端口上同時提供API和靜態頁面和腳本,您可以修改API服務器以處理對靜態內容的請求,也可以使用反向代理。我推薦nginx to set that up(如果可以的話,也可以提供靜態內容)。

例nginx的配置:

location /api/ { 
    proxy_pass http://localhost:8080/; 
} 

location/{ 
    proxy_pass http://localhost:3000/; 
} 
+0

我得到了CORS問題覆蓋,也靜態頁面是不是我期待在這裏。我正在使用反應的前端 –

+0

我的意思是從服務器的角度來看靜態。 React應用程序由客戶端解釋。除非你在做服務器端渲染?無論如何,如果「靜態頁面」更適合你,請用「前端」替換。您仍然希望使用反向代理將同一來源的兩個應用程序分組。 – Touffy

+0

感謝這實際上是一個有趣的想法,用前端代替靜態的。但到目前爲止,我還沒有看到它的任何地方的任何例子。這是否意味着我將'view engine'設置爲'jsx'?你能否向我提供任何例子或文章或視頻? –

相關問題