javascript - res.sendFile() 显示我的 html,但不呈现反应组件
问题描述
我正在制作我的第一个 MERN 网站。当我尝试将反应前端连接到快速后端时,我有点卡住了。
我的前端几乎完成了,可以在那里导航我的页面。当我尝试从 server.js 访问页面时,我的问题就出现了。
我已经让我的 app.get("*", ...) 只是为了测试它,如果他们搜索任何东西,就会把他们送回我的主页。当我转到 localhost:3000/qwert 之类的东西时,它确实显示了我的 index.html,我在其中放置了一个 h1,但它没有显示我期望的反应组件。
我在端口 3000 和 5000 上同时运行我的服务器和客户端。
有人可以帮帮我吗?
这是我的文件夹结构:
这是我的 server.js
这是我的 index.html、index.js 和 app.js:
解决方案
您需要更新主页组件的路线:
<Route exact path="/*" component={() => <Homepage />} />
然后除了“/blog, /Cv/, /portfolio”之外的所有 url 都会渲染 Homepage 组件。
推荐阅读
- firebase-realtime-database - Firebase 实时数据库规则允许单个用户写入访问
- javascript - 如何从服务文件返回或导出函数javascript的结果以在另一个文件中使用
- android - 如何在 Android 上分享 Facebook 内容
- excel - VBA for循环特定文件并确认日期
- r - 使用apply对R中数组的值进行排名
- java - 用户从图库中上传图像并在 textView 中显示时如何获取图像名称?
- matlab - 如何获取 MATLAB 函数端口的名称?
- reactjs - 如何更改默认值 react-i18next(在本地存储中)
- javascript - 如何在 Strutus 1 中从单个表单调用多个操作?
- python - AWS Lambda OSError(30, '只读文件系统')