前言
为什么要写这本书
目前大型互联网公司对于前端工程师的需求越来越大,一些高级的前端岗位依然非常缺人,候选人的面试通过率却非常低。究其原因,这些互联网公司对于前端工程师的要求越来越高,它们希望候选人不局限于掌握浏览器,也要掌握一些偏后端的技能。对于前端工程师来说,因为其所用的编程语言就是我们熟悉的JavaScript,所以学习Node比较轻松。Koa是Node中使用比较广泛的一个框架,非常值得前端工程师学习,这是我写本书的主要原因。
我在上一家公司主要负责Node中间层架构,我开发的BFF框架服务于公司内部的各个业务。在任职期间,我不断帮助业务方解决线上、线下的各种疑难问题,这让我对Node有了更加深入的理解,并且积累了很多Node的使用经验。写这本书也是想分享我的一些经验,帮助大家在技术道路上走得更远,引导大家向全栈方向迈进。
Koa在业界使用比较广泛,很多知名的BFF框架(比如Egg)都基于Koa实现。如果能够透彻理解Koa,那么对于公司内部或者技术社区里的一些BFF框架就能够轻松驾驭。本书由浅入深地讲解了Koa的应用场景以及实例代码。
读者对象
- 想成为全栈工程师的前端技术人员。
- 希望顺利入职大型互联网公司的前端工程师。
- 对Node、Koa有学习热情的前端工程师。
- 对开源技术充满热情的前端工程师。
本书特色
本书除了讲解Koa的基础知识,还讲解了如何从零开始搭建一个企业级BFF框架,读者可以学到从架构设计到工程搭建的知识,也可以边学边写,自己写一个BFF框架,这样对于提升自身的技术能力有很大帮助。
如何阅读本书
本书分为四部分。
第一部分“Koa基础”(第1、2章),主要介绍Koa的基础概念以及基本用法。
第二部分“Koa进阶”(第3、4章),一方面讲解Koa的源码实现,帮助读者深入理解Koa的底层实现逻辑,另一方面着重讲解Koa在实际业务场景中可能会遇到的问题以及解决方法。
第三部分“Koa实战”(第5章)主要讲解如何从零开始搭建一个企业级BFF框架,涉及架构设计、工程建设以及企业内常见业务场景的解决方案。
第四部分“Node”(第6、7章),讲解Node中一些比较常见但难以理解的概念,并对Node底层架构进行解读。
这四部分内容由浅入深,涵盖了Koa的绝大多数知识点。读者只要掌握了本书内容,就一定能灵活运用Koa和Node。
勘误和支持
由于作者的水平有限,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。如果有疑问,欢迎将问题发送到我的邮箱ljhtianhong@163.com。期待得到你们的真挚反馈!
致谢
非常感谢李成银、李玉北、吴亮(月影)、陈辰四位前辈为本书写推荐语,在写作过程中他们也提供了很多帮助。
感谢抖音电商业务架构组的同事们,他们是张浩、王成、张志强、孙海阳、吕益行、谷云龙、李喆明、王锐、韩庆新、张亚钦、王玉旸、张超、耿琳淇。
感谢机械工业出版社华章公司的编辑杨福川、陈洁和韩蕊。他们的鼓励和帮助使我得以顺利完成全部书稿。
感谢我的妻子张蕾,她在生活中支持我、鼓励我,让我有动力写作。
谨以此书献给我最亲爱的家人,以及众多热爱Koa、热爱Node的朋友们!