- 狼书(卷2):Node.js Web应用开发
- 狼叔
- 1497字
- 2025-02-20 23:08:34
前言
Koa是下一代Node.js Web框架。所谓的“下一代”是相对于Express而言的。Koa立身于最“潮”的异步流程控制特性,主要用于改进Node.js开发中的回调地狱痛点,可以说Koa是异步流程控制不断演进的必然产物。在所有的Node.js Web框架中,Koa无疑是最耀眼的一个。
Koa的生态是非常健全的,基于Koa编写Web应用可以应对多种场景。如果用得极致,甚至可以基于Koa在前端领域开发各种工具。
本书内容
本书以Node.js下一代Web框架Koa为核心,主要讲解Koa的基础知识、中间件原理和应用场景,旨在向读者展示如何基于Koa编写出更简单、更具工程化优势的Web应用。
本书共分8章,每章的内容简介如下。
第1章 下一代Web框架Koa
本章将介绍Koa框架的入门知识、优势、应用场景,Koa脚手架的编写方式,以及Node.js Web框架的演进过程。基于最新的AVA测试框架编写测试用例也是本章非常有特色的一节。
第2章 Koa核心扩展机制:中间件
本章将介绍Koa的核心中间件原理,以及Koa中常用的中间件:路由、视图、静态服务模块等。中间件机制是Koa的核心内容,因此本章内容非常重要。
第3章 HTTP必知必会
本章将介绍请求响应模型,也将对HTTP和HTTPS进行讲解,同时以mini-proxy和hiproxy为核心对前端最常用的代理进行讲解。
第4章 Koa练习
本章将结合第3章的HTTP相关知识进行Koa框架内置方法的练习,比如地址解析、参数获取、body解析、API开发,还将介绍各种测试模块和工具软件的用法。
第5章 数据库基础
本章将介绍Node.js数据库选型和MVC模型层的用法,以及使用Mongoose模块操作MongoDB的方法,其中涉及Mongoose中的一些进阶技巧:模型扩展、虚拟属性、回调钩子和插件机制。
第6章 数据库进阶
本章将在第5章的基础上介绍数据库中的进阶技巧:分页、关联查询、事务、性能调优等。通过本章大家能够对Node.js数据库选型掌握得更好。
第7章 前端视图模板
本章将从public目录讲起,介绍前端相关知识,主要涉及模板编译原理、Webpack进阶知识。本章还将介绍前后端分离和服务器端渲染的演进,并提出对未来Serverless环境下前端渲染层的见解。
第8章 项目实战
本章将以CNode项目为核心,介绍基于Egg.js框架的项目代码,还会介绍基于Docker快速开发Node.js Web应用的方法。
本书中的各章内容基本是相互独立的,因此各位读者可以挑选自己感兴趣的章节阅读。这本书是《狼书》系列图书的第2卷,第1卷主要介绍Node.js基础知识,第3卷主要介绍Node.js高级应用。3卷搭配阅读,效果更好。
目标读者
本书的目标读者有以下3类。
○ 正在学习JavaScript开发,对JavaScript语言有基本的了解和熟悉度,且希望能够了解JavaScript发展情况的人。
○ 正从事JavaScript开发相关工作,熟悉JavaScript的基本开发要领,在日常工作中经常接触Node.js,想要深入了解Web应用、BFF、API代理等内容,以进一步提升自我的Web工程师(此处不区分前端与后端)。
○ 具有极客精神,想要深入研究JavaScript语言及Node.js的全栈工程师。
同时,本书也适合正使用其他编程语言(如Go、PHP、Python、Ruby、Java等)进行Web开发的工程师阅读、学习。
阅读准备
要想运行本书中的示例,需要安装以下系统及软件。
○ 操作系统:推荐Linux,以及macOS 10.9或以上版本,使用Windows操作系统可能会在运行示例时报错。
○ 浏览器:Google Chrome、Safari、Firefox、Internet Explorer 11、Windows Edge。
○ 运行环境:以Node.js 8.6版本为主。
联系作者
由衷地感谢你购买此书,希望你会喜欢它,也希望它能够为你带来你希望获得的知识。虽然我已经非常细心地检查了书中的所有内容,但仍有可能存在疏漏。若你在阅读过程中发现错误,在此我先表示歉意。同时欢迎你对本书的内容和相关源码发表意见和评论。你可以通过我的私人邮箱i5ting@126.com与我取得联系,我会一一解答你的疑惑。
我的更多联系方式如下,大家可通过任意方式与我联系。
○ 个人主页:http://i5ting.com
○ GitHub:https://github.com/i5ting
○ Twitter:https://twitter.com/i5ting
最后送给各位读者一句话,也是狼叔常说的——少抱怨,多思考,未来更美好!
读者服务
微信扫码回复:35906

● 获取博文视点学院20元优惠券
● 获取免费增值资源
● 加入读者交流群,与更多读者互动
● 获取精选书单推荐