在应用开发中Express和React如何搭配使用?
你想到的Express编写后端API、React作为前端调用接口获取数据是当下行业最通用的前后端分离实现方案,这种架构下两者职责完全解耦:
- Express侧专注处理数据逻辑、身份鉴权、数据库操作,所有对外接口统一返回JSON格式,通常可以给接口统一加
/api前缀和其他路由做区分 - React侧是独立的单页应用项目,开发阶段可以跑在本地前端开发服务器,上线后打包成静态资源,既可以部署到CDN,也可以直接交给Express的静态资源托管中间件来托管
其他常见的协同实现思路还有两类:
服务端渲染(SSR)
如果你的项目对SEO、首屏加载速度有要求,可以选用Next.js这类支持React服务端渲染的框架,此时Express既可以作为底层服务承载SSR的请求逻辑,也可以单独抽离为纯API服务,给Next.js的服务端侧提供数据支撑。
局部嵌入的混合模式
如果你的项目大部分页面仍用Express自带的模板引擎(比如EJS、Pug)渲染,仅少数交互复杂的页面需要用React实现,可以直接在对应模板页面内引入React的UMD包,局部挂载React组件,组件需要数据时再调用Express的接口即可,这种模式更适合老项目渐进式迭代,不需要整体重构为前后端分离架构。
很多入门教程为了降低理解门槛,会把前后端的知识点分开讲解,才会出现你遇到的两个项目完全独立的情况。实际落地时只要在开发阶段处理好跨域问题(给Express加CORS中间件,或者给React开发服务器配代理即可),两者就能正常联动。
内容的提问来源于stack exchange,提问作者Kaguei Nakueka
相关产品推荐
相关产品推荐

