2017-12-02 194 views
1

所以這是我在泡菜問題:BTW我遇到了一些麻煩找出如何通過谷歌做到這一點,我也嘗試使用StackOverflow上也沒有找到確切的答案如何連接反應前端和後端快遞?

所以我有一個ReactJS網站,我使用

紗線開始

運行,並啓動在localhost:3000 我希望它推出在localhost:3000,而一個Express服務器也可以啓動該服務器上,又名啓動反應服務器最多在express.js中。

看起來像我找到的每一個教程,大多數已經過時,其餘的是指導將反應轉化爲靜態網站,然後使用快遞。我想繼續在服務器端反應的優勢反應路由器

EDIT1的:所以基本上,當我有一個expressjs服務器 數據庫詳細信息已被刪除,該行心不是AN ERROR

const express = require('express'); var app = express();

var mysql = require('mysql'); var connection = mysql.createConnection({host: database:'main'});

connection.connect()

app.post('/用戶的,功能(REQ,RES){風險用戶= req.body; res.end( '成功');})

app.listen(3000,函數(){的console.log( '特快服務器正在偵聽端口3000 ')})

//connection.end()

我也開始了用紗線創建反應應用程序服務器rt,它在localhost:3000上啓動,但是這個expressjs服務器會覆蓋它。

所以我想這兩個連接到能夠發送POST請求

+0

是否有一個原因,您不能在端口3001上運行您的快速服務器和端口3000上的反應前端?這樣做可以通過「localhost:3001/users」訪問快速服務器來發送發佈請求。 – bluesixty

+0

@bluesixty如果我把它放在AWS服務器上怎麼辦? – adriam

回答

1

我剛剛在實現該戰略的一個樣本回購工作。有幾種方法可以完成,但最簡單的方法是啓動快速服務器作爲第二個服務器,它將運行在不同的端口上,即。 3001.然後,您可以使用concurrently在單個命令中啓動反應服務器(我假定爲webpack)和快速API服務器。

Here is a tutorial顯示如何設置。您應該注意本教程中關於通過webpack服務器代理來自客戶端(瀏覽器)的請求的部分。如果您不通過webpack服務器代理請求,則需要考慮CORS配置方面的一些注意事項。

Here is my proof of concept repo其中我實現了你正在尋找的東西:反應客戶端和快速服務器。它可以是run via concurrently或docker(撰寫)。

+0

只是想說那個教程很棒,幾天來一直在尋找,效果很好,並且回答了OP。 – rrd

+0

很酷,謝謝。我知道在react,docker,express和apollo/graphql之間的每一個都是大型項目,有很多教程,我想要一些將它們全部綁定在一個教程項目中的東西。 – Mikelax