感谢图灵社区的电子书阅读奖励计划。
作为一个前端,必须要学习 Nodejs 似乎已经是无可争议的事实了。那么学习 Nodejs 是指学习什么呢,Nodejs 的核心是什么呢?
以目前绝大部分博客,包括本书来说,答案是「Web 服务」,即我们所谓的「后端」。
但是,在绝大部分公司,「纯 Nodejs 做后端」并不是主流方案,更加主流的是 Java,所以又提出了以 Nodejs 作为「中间层」的做法,前端的领域稍微向后端做了一些延伸。
常见的例子或许是「服务端渲染」,最开始的架构是由后端渲染模板,改进为前后端分离,但带来的问题是首屏渲染,借助 Nodejs 来渲染,原先的 Java 后端不需要做任何改动就增加了服务端渲染,并且各自的职责也还是非常清晰,后端只负责提供数据,前端负责页面;
或者还可以做更多的事情,当然这一切的前提都是对 Nodejs 的掌握程度。那么如果仅仅是「中间层」,只需要会写路由处理请求和响应就可以了吗?
原先后端需要做的事情,我们需要做吗,比如错误监控?比如负载均衡?
是否要将后端经历过的问题都再经历一次呢。
其实「写代码」在我看来并不是问题,在写完代码后的测试、部署也是非常麻烦,并且没有任何经验的。就「部署」来说,现在提倡CICD
,Nodejs 的 CICD 应该怎么做?
本书第十章讲到了部署,也给出了部署方式,最简单的当然是通过 PaaS 托管,自己维护是最麻烦的。但实际来说随着项目的迭代,在有能力的前提下,自己维护才是最经济的方式吧,这其实是 Ops 的工作了,那我们是否又要去了解、学习 devOps 呢?
实在是学无止境。