用nodejs写后端,可以同时用模板渲染和react写前端吗?
我先学习了react,现在正在学习nodejs写后端,包括koa2+egg,其中介绍了ejs等等模板渲染。
我有个想法,将比较复杂的前端业务页面使用react来写,但是登录注册+后台管理使用nodejs渲染ejs模板来写。这样可行吗?可能有哪些问题?我比较迷惑的是react和后端渲染页面之间跳来跳去能行吗?
另外顺带问一个问题:那种很常见的企业官网适合用react来写吗?还是应该使用后端模板渲染来写?
相当于说,企业官网+业务前端+管理后台,分别适合react还是ejs模板来写?
恭请指导,谢谢。
非常感谢朋友们的指点,但是有点东西我没表达清楚,我仔细说下。
比如,访问 http://www.xxx.com/login 的时候,我希望是服务器通过ejs模板来渲染并直接显示。这个注册登录页面是固定的,一次做好之后也不会变,包括后台管理页面也是这样,由服务器渲染,固定死。这个好像不是那种服务器端ssr渲染再推送给react吧?因为此刻react生成的那个bundle.js那个页面应该没有机会推送给用户浏览器,如果用户一开始就输入这个登录网址的话。
当访问http://www.xxx.com/home 的时候,这个是主页,是面向用户业务的,包括购买等等,比较复杂,这个页面就希望是react写。但是这个页面有个登录按钮,点击后到达 http://www.xxx.com/login ,而这个登录页如前所述是服务器ejs渲染的html网页。同样的,登录页面有个按钮可以跳转到 http://www.xxx.com/home 而这个又是react生成的bundle.js那个单页面应用。
也即,登录注册+后台管理由后端人员写,用ejs渲染模板,写完就长期不变,home页面复杂,由前端人员用react写,经常变,页面相互之间可能跳来跳去。我想了解这样的思路是否可以,是否合适,或有什么更合理更优雅的思路?感谢大家指点!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
服务端渲染 Next了解一下
首先,你提出的想法,都可以实现。ejs 模板渲染的本质还是服务器端渲染,是常用的后端渲染模式。而 react 也支持服务器端渲染,所以只用 react 就能实现和模板渲染一样的功能,只是配置相对复杂一点。
至于选型,得看你的项目复杂程度,如果需要做到首屏直出,seo 友好,建议选择服务器端渲染。如果不想配置大量的 react 服务器渲染代码,就选择模板方式吧。反之,可以使用 react 进行同构,这样后端也可以复用 react 代码了。