我已經使用create-react-app啓動了一個反應應用程序,並運行npm run eject
腳本以訪問所有文件。後來我安裝了快車,創造server.js
文件在同一水平坐作爲package.json
文件設置代理服務器以創建反應應用程序
這些都是server.js
文件內容:
const express = require('express');
const app = express;
app.set('port', 3031);
if(process.env.NODE_ENV === 'production') {
app.use(express.static('build'));
}
app.listen(app.get('port'),() => {
console.log(`Server started at: http://localhost:${app.get('port')}/`);
})
沒有什麼瘋狂的在這裏,剛剛建立的,我需要使用機密未來API代理因爲我不想暴露我的api。
在此之後,我添加了"proxy": "http://localhost:3001/"
到我的package.json
文件。我現在卡住了,因爲我需要弄清楚如何正確啓動我的服務器,並在開發模式下使用此server.js
文件,然後在生產中使用。
理想的情況下這也將是很好的,如果我們可以用一個以上的代理即/api
和/api2
我怎麼能確定與這樣的代理服務器發出請求的客戶端的IP地址?使用快遞,req.ip只是給了我localhost IP – stuart
@jpdelatorre你的答案是真棒,挽救生命。你知道如何在不使用'create-react-app'的情況下設置這個相同的選項,我的意思是從零開始 – Muhammed
這個解決方案對我來說仍然不起作用。當我運行npm run start時,它仍然使用運行反應應用程序的localhost:3000。我知道PR有點大,但是我已經編輯了package.json來匹配它,所以你已經在react-uI/package.json下面描述了https://github.com/moon-room/log/pull/1 你有什麼想法我做錯了嗎? –