[英]How to make Express server use React routes?
以前我的服務器在端口 5000 上運行,我的 react 應用程序在端口 3000 上運行。我將通過端口 3000 訪問它,它會對端口 5000 進行 API 調用。
但我現在遇到的問題是,我在應用程序上的所有路由器都不起作用。 When I go to http://localhost:5000/ my homepage shows up fine, but if I go to http://localhost:5000/1 or whatever, it says it cannot get those pages.
我是 MERN 堆棧的新手,這是我第一次嘗試讓服務器發送構建文件。 我應該搜索什么來解決這個問題? 我怎樣才能解決這個問題? 我的猜測是我必須重寫 app.get 才能發送正確的文件,但我的構建只有一個文件,所以 IDK 該怎么做。 我寧願不必重寫我的整個服務器。
您在這里沒有.htaccess
和nginx
和任何其他 URL 重定向器。 你可以用快遞處理它:
app.get('*', (req,res) =>{
res.sendFile(path.join(__dirname+'../poll/build/index.html'));
});
在您的特快路線之后。
React route 在瀏覽器上進行路由。 但在這里路由是在服務器端完成的。 無論您請求哪個 url,您都應該始終在反應應用程序中返回 index.html。
如果你想同時使用服務器端路由和瀏覽器路由,你可以在反應中使用 HashRouting
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.