【发布时间】:2020-09-04 15:21:59
【问题描述】:
我有一个 React 应用和一个独立的 Express 服务器应用。
我可以通过在我的 Express 应用程序中使用此代码,使用自定义 Express 服务器为我的 React 应用程序提供服务:
app.get("*", (req, res) => {
res.sendFile(path.join(__dirname + "/frontend/build/index.html"));
});
这很好用,但是这样做我失去了 React 在我进行更改时自动更新我的应用程序的能力。这是因为我正在从我的 React 构建文件夹中加载 index.html。因此,要查看我所做的任何更改,我必须停止 Express 应用程序,重建我的 React 应用程序并重新启动 Express 应用程序。
我有什么办法可以修改上面的代码或做其他事情来确保 React 应用程序在开发环境的浏览器中保持自动更新?
我的 npm 脚本如下所示:
npm run build --prefix frontend && node server.js
./ 是一个 Node 应用程序,它是我的 Express 服务器
./frontend 是一个单独的 Node 应用程序,其中包含我的 React 应用程序
谢谢!
【问题讨论】:
-
“我有一个 React 应用”,你的意思是你可以访问它的源文件吗?
-
强调了“分离”这个词,但设置似乎并不分离。看起来,这里的 React 应用程序被认为是 Node.js 应用程序的一部分。如果是这样,我建议重构逻辑和文件结构,使它们成为兄弟应用程序。
标签: javascript node.js reactjs express