首页 > 解决方案 > res.sendFile() 显示我的 html,但不呈现反应组件

问题描述

我正在制作我的第一个 MERN 网站。当我尝试将反应前端连接到快速后端时,我有点卡住了。

我的前端几乎完成了,可以在那里导航我的页面。当我尝试从 server.js 访问页面时,我的问题就出现了。

我已经让我的 app.get("*", ...) 只是为了测试它,如果他们搜索任何东西,就会把他们送回我的主页。当我转到 localhost:3000/qwert 之类的东西时,它确实显示了我的 index.html,我在其中放置了一个 h1,但它没有显示我期望的反应组件。

我在端口 3000 和 5000 上同时运行我的服务器和客户端。

有人可以帮帮我吗?

这是我的文件夹结构:

文件夹结构

这是我的 server.js

服务器.js

这是我的 index.html、index.js 和 app.js:

索引.html

索引.js

应用程序.jsx

标签: javascripthtmlnode.jsreactjsexpress

解决方案


您需要更新主页组件的路线:

<Route exact path="/*" component={() => <Homepage />} />

然后除了“/blog, /Cv/, /portfolio”之外的所有 url 都会渲染 Homepage 组件。


推荐阅读