我发现了将React和Express结合起来的两种方法:
从根本上讲,这里的想法是在启动服务器之前,可以使用预编译的JavaScript文件。然后在Express中间件中:
app.use(express.static(path.join(__dirname, '../client/build')));
然后串联其他端点在服务器端执行逻辑。
基本上,将前端和后端的整个逻辑与一台服务器分离,仅用于提供静态JS文件。然后是另一台Express服务器,用于对数据库运行任何查询。并返回简单的JSON响应。
推荐使用哪种方法?使用一种方法相对于另一种方法是否有优势?
答案 0 :(得分:2)
这是一个自以为是的问题,所以我只能给出自以为是的回答。
我个人建议 OPTION 1 ,因为在断开前端和后端的耦合后,您会在许多地方遇到跨源资源共享(CORS)问题。这并不是说无法完成,但这将是一件令人烦恼的事情。
使用选项2,您很可能还必须使用绝对URL路径将任何请求发送到后端,这在应用程序扩展时很难维护。
使用选项1,您将拥有更大的灵活性,更少的维护和更少的烦恼解决方案。