Cnode社区的react版本已在完善中,欢迎志同道合的同学加入
发布于 5 年前 作者 zhoushoujian 5805 次浏览 最后一次编辑是 4 年前 来自 分享

由于原项目的前端使用的是ejs,没有用到三大框架。考虑到nodejs开发者好多是从前端转过来或同时具备前端开发的能力,

所以笔者计划用react重构前端界面,考虑到社区需要服务端渲染管理全局数据,所以使用了nextjs和redux。

原项目采用的技术栈:Nodejs, Express, Mongodb, Redis, ejs和less,典型的MVC架构

本仓库采用的技术栈:Nodejs, Express, Mongodb, Redis, React, Redux, nextjs, webpack和less

由于时间和精力,本仓库只React化了社区主页和所有导航导航页面,可以使用github快捷登录,但不能注册邮箱登录。

本仓库仅用作技术交流,有兴趣的同学,欢迎加入一起happy哈。

react项目地址:Nodeclub - React

体验地址: http://192.144.213.72:3334/

最后:体验地址里引用了https://cnodejs.org/一些帖子,如有侵权,欢迎联系笔者。此项目暂不属于cnode.org官方项目,正在努力争取。

8 回复

哈哈 前端和node不分家的把

用react重构有什么好处呀。

服务端渲染的性能是个巨坑

@awong1900 在使用nodejs做服务端渲染的前提,使用react比其他模板引擎的优势如下:

  1. 语言的使用人数。会用react的前端一大把一大把,但是会用handlebar或jade或其他模板引擎的人非常好,所以从团队招聘的角度上讲,使用react更容易找到人。
  2. 语言的流行程度。其实和第一条有点像,语言越流行,使用的必要性就越大。加入jade比react流行,那么完全可以使用jade
  3. 前端的复杂性。加入前端很复杂,需要管理多种数据,组件之间还需要通信,共享数据之类的,那么模板引擎是做不到的。
  4. 开发效率和网页性能。使用框架的开发效率是很高的,而且容易构建复杂的前端应用程序。众所周知,数据驱动的性能是最佳的
  5. 逻辑解耦。react可以使用ref获取元素,二模板只能使用jquery,如果有人重构你的dom,但是忘记把相应的jquery选择的元素删除,会在逻辑层面引发不可知的问题。因为在dom上完全看不出来到底有没有jquery在用这些dom。如果使用ref就没有这些顾虑了。此外react组件复用比模板引擎好用
  6. 优秀的延展性。项目越大,维护模板引擎的成本就越高,最后容易引起牵一发而动全身。而react的模块管理使得项目结构和逻辑相对清晰。

@muyuxingguang 这里的性能指的是服务器的性能吗?服务端渲染一大优势在于提供良好的用户体验,尽快显示网页给用户。

@guizhiyicao 是的,据我所知,大部分node工程师是从前端转过来的。前端越来越复杂,然后就会发现后端好简单。只要不是特别大的项目,后端只需处理下db和redis,数据发送到前端进行处理。保证数据的完整性和原始性。减少有时候改需求既要改前端还要改后端的尴尬场景

前端工程化,找react生态解决就好了

回到顶部