书籍详情
狼书:Node.js高级技术(卷3)
作者:狼叔 著
出版社:电子工业出版社
出版时间:2022-11-01
ISBN:9787121353871
定价:¥108.00
购买这本书可以去
内容简介
Node.js开发简单,性能极好,一经发布便成了明星级项目。随着大前端领域的蓬勃发展,跨平台开发、API构建、Web应用开发等场景愈加常见,Node.js也成为大前端开发的推荐“利器”。本书聚焦于Node.js高级技术。第1章介绍如何编写npm模块,其中涉及对许多常用模块的解析。第2章介绍如何编写企业级Web开发框架,主要剖析了开发框架的流程。第3章介绍如何构建具有Node.js特色的服务,着重讲解了页面即服务的概念。第4章介绍服务器部署与性能调优的相关知识。第5章介绍TDD和BDD理念,以及如何编写测试用例,同时分享了笔者关于开源和自学的看法。基于Node.js不断进阶,实现高级应用开发是符合技术趋势的,也是全栈工程师必须掌握的技能。因此,各位大前端领域及后端领域的测试、运维、软件开发从业者都适合阅读本书。
作者简介
桑世龙,狼叔(网名i5ting),现为阿里巴巴前端技术专家,去哪儿网前前端架构师,Node.js 技术布道者,领域头部公众号“Node全栈”运营者。曾就职于多家知名IT企业,从事前端开发、后端开发、数据分析等工作,目前负责公司内的Node.js开发和基础框架开发工作。
目录
第1章 自己动手写npm模块\t1
1.1 基础技能\t1
1.1.1 环境变量\t2
1.1.2 Zsh\t2
1.1.3 Vim\t3
1.1.4 Ack\t4
1.1.5 Autojump\t5
1.1.6 Git和GitHub\t5
1.1.7 查询文档\t6
1.2 编写Node.js模块\t6
1.2.1 初始化模块\t6
1.2.2 普通模块\t7
1.2.3 二进制模块\t9
1.3 npm技巧\t13
1.3.1 npm run\t13
1.3.2 配置\t13
1.3.3 钩子\t15
1.3.4 npm link\t16
1.3.5 自定义安装\t16
1.3.6 模块瘦身\t17
1.3.7 postinstall\t17
1.3.8 路径\t18
1.3.9 模块依赖图\t20
1.4 实例讲解\t22
1.4.1 kp\t22
1.4.2 je\t27
1.4.3 lazyclone\t30
1.5 编写脚手架\t31
1.5.1 初始化模块\t32
1.5.2 CLI二进制模块\t32
1.5.3 使用模板引擎\t34
1.5.4 解析CLI参数和路径\t35
1.5.5 npm发布\t40
1.6 开源周边\t40
1.6.1 持续集成\t40
1.6.2 测试覆盖率\t45
1.6.3 徽章\t45
1.6.4 反向学习\t46
1.7 推荐模块\t46
1.7.1 debug\t47
1.7.2 GitBook\t48
1.7.3 colors和chalk\t49
1.7.4 mkdirp\t50
1.7.5 shelljs\t50
1.7.6 moment\t51
1.7.7 LRU缓存\t52
1.7.8 semver\t53
1.7.9 xtend\t55
1.7.10 require-directory\t56
1.7.11 yargs\t57
1.8 本章小结\t59
第2章 自己动手编写企业级Web开发框架\t60
2.1 特色Web框架\t60
2.1.1 LoopBack\t61
2.1.2 Nest\t63
2.1.3 ThinkJS\t66
2.1.4 Egg.js\t69
2.1.5 Next.js\t70
2.1.6 Redwood\t72
2.1.7 strapi\t76
2.2 自己动手写框架\t78
2.2.1 基础知识\t78
2.2.2 生成项目\t81
2.2.3 添加Mongoose\t91
2.2.4 添加MVC目录\t96
2.2.5 庖丁解Views\t103
2.2.6 脚手架\t112
2.2.7 静态API模拟\t114
2.2.8 更多实践\t122
2.3 本章小结\t127
第3章 构建具有Node.js特色的服务\t128
3.1 服务概览\t128
3.1.1 架构演变\t128
3.1.2 从大而全到小而美\t129
3.1.3 微服务应用\t131
3.1.4 BFF中间层\t134
3.1.5 SFF托管\t137
3.2 使用Node.js优化页面渲染\t140
3.2.1 BigPipe\t140
3.2.2 服务器端渲染(SSR)\t150
3.2.3 渐进式Web应用(PWA)\t153
3.2.4 同构开发\t158
3.3 页面即服务\t162
3.3.1 页面独立\t162
3.3.2 模块拆分\t164
3.3.3 BigView\t165
3.3.4 API Proxy\t175
3.3.5 源码说明\t176
3.4 使用Node.js开发RPC服务\t178
3.4.1 RPC原理\t178
3.4.2 通信层协议设计\t179
3.4.3 如何实现RPC通信协议\t180
3.4.4 DNode\t181
3.4.5 Senaca\t182
3.4.6 Moleculer\t185
3.4.7 通用RPC\t189
3.4.8 服务发现与治理\t190
3.4.9 典型用法\t192
3.5 使用Node.js开发独立的API层\t193
3.5.1 GraphQL\t193
3.5.2 Micro框架\t197
3.5.3 API网关\t197
3.5.4 在线服务\t199
3.6 本章小结\t199
第4章 服务器部署与性能调优\t200
4.1 服务器部署\t200
4.1.1 服务器选购\t201
4.1.2 手动部署\t204
4.1.3 通过Docker部署\t211
4.1.4 自动部署\t224
4.1.5 APM与监控\t231
4.2 性能调优\t239
4.2.1 基础知识\t239
4.2.2 立体分析\t246
4.2.3 深度性能调优\t250
4.3 分析Easy-monitor\t260
4.4 本章小结\t262
第5章 测试、开源与自学\t263
5.1 测试入门\t264
5.1.1 什么是测试\t264
5.1.2 TDD和BDD\t265
5.1.3 最小化问题\t268
5.1.4 Baretest\t269
5.1.5 TAP和Tape\t271
5.1.6 Mocha\t274
5.1.7 Jest\t278
5.2 测试进阶\t283
5.2.1 测试的好处\t283
5.2.2 红到绿工作流\t284
5.2.3 Cucumber\t285
5.2.4 Spy、Stub和Mock\t288
5.2.5 持续集成\t291
5.2.6 如何编写测试框架\t292
5.2.7 如何打造开源项目\t293
5.2.8 进一步学习TypeScript\t294
5.3 开源带来的机会和思考\t310
5.3.1 Clipanion\t310
5.3.2 机会与挑战\t312
5.3.3 敏感且会学\t313
5.3.4 成就更好的自己\t313
5.4 本章小结\t314
1.1 基础技能\t1
1.1.1 环境变量\t2
1.1.2 Zsh\t2
1.1.3 Vim\t3
1.1.4 Ack\t4
1.1.5 Autojump\t5
1.1.6 Git和GitHub\t5
1.1.7 查询文档\t6
1.2 编写Node.js模块\t6
1.2.1 初始化模块\t6
1.2.2 普通模块\t7
1.2.3 二进制模块\t9
1.3 npm技巧\t13
1.3.1 npm run\t13
1.3.2 配置\t13
1.3.3 钩子\t15
1.3.4 npm link\t16
1.3.5 自定义安装\t16
1.3.6 模块瘦身\t17
1.3.7 postinstall\t17
1.3.8 路径\t18
1.3.9 模块依赖图\t20
1.4 实例讲解\t22
1.4.1 kp\t22
1.4.2 je\t27
1.4.3 lazyclone\t30
1.5 编写脚手架\t31
1.5.1 初始化模块\t32
1.5.2 CLI二进制模块\t32
1.5.3 使用模板引擎\t34
1.5.4 解析CLI参数和路径\t35
1.5.5 npm发布\t40
1.6 开源周边\t40
1.6.1 持续集成\t40
1.6.2 测试覆盖率\t45
1.6.3 徽章\t45
1.6.4 反向学习\t46
1.7 推荐模块\t46
1.7.1 debug\t47
1.7.2 GitBook\t48
1.7.3 colors和chalk\t49
1.7.4 mkdirp\t50
1.7.5 shelljs\t50
1.7.6 moment\t51
1.7.7 LRU缓存\t52
1.7.8 semver\t53
1.7.9 xtend\t55
1.7.10 require-directory\t56
1.7.11 yargs\t57
1.8 本章小结\t59
第2章 自己动手编写企业级Web开发框架\t60
2.1 特色Web框架\t60
2.1.1 LoopBack\t61
2.1.2 Nest\t63
2.1.3 ThinkJS\t66
2.1.4 Egg.js\t69
2.1.5 Next.js\t70
2.1.6 Redwood\t72
2.1.7 strapi\t76
2.2 自己动手写框架\t78
2.2.1 基础知识\t78
2.2.2 生成项目\t81
2.2.3 添加Mongoose\t91
2.2.4 添加MVC目录\t96
2.2.5 庖丁解Views\t103
2.2.6 脚手架\t112
2.2.7 静态API模拟\t114
2.2.8 更多实践\t122
2.3 本章小结\t127
第3章 构建具有Node.js特色的服务\t128
3.1 服务概览\t128
3.1.1 架构演变\t128
3.1.2 从大而全到小而美\t129
3.1.3 微服务应用\t131
3.1.4 BFF中间层\t134
3.1.5 SFF托管\t137
3.2 使用Node.js优化页面渲染\t140
3.2.1 BigPipe\t140
3.2.2 服务器端渲染(SSR)\t150
3.2.3 渐进式Web应用(PWA)\t153
3.2.4 同构开发\t158
3.3 页面即服务\t162
3.3.1 页面独立\t162
3.3.2 模块拆分\t164
3.3.3 BigView\t165
3.3.4 API Proxy\t175
3.3.5 源码说明\t176
3.4 使用Node.js开发RPC服务\t178
3.4.1 RPC原理\t178
3.4.2 通信层协议设计\t179
3.4.3 如何实现RPC通信协议\t180
3.4.4 DNode\t181
3.4.5 Senaca\t182
3.4.6 Moleculer\t185
3.4.7 通用RPC\t189
3.4.8 服务发现与治理\t190
3.4.9 典型用法\t192
3.5 使用Node.js开发独立的API层\t193
3.5.1 GraphQL\t193
3.5.2 Micro框架\t197
3.5.3 API网关\t197
3.5.4 在线服务\t199
3.6 本章小结\t199
第4章 服务器部署与性能调优\t200
4.1 服务器部署\t200
4.1.1 服务器选购\t201
4.1.2 手动部署\t204
4.1.3 通过Docker部署\t211
4.1.4 自动部署\t224
4.1.5 APM与监控\t231
4.2 性能调优\t239
4.2.1 基础知识\t239
4.2.2 立体分析\t246
4.2.3 深度性能调优\t250
4.3 分析Easy-monitor\t260
4.4 本章小结\t262
第5章 测试、开源与自学\t263
5.1 测试入门\t264
5.1.1 什么是测试\t264
5.1.2 TDD和BDD\t265
5.1.3 最小化问题\t268
5.1.4 Baretest\t269
5.1.5 TAP和Tape\t271
5.1.6 Mocha\t274
5.1.7 Jest\t278
5.2 测试进阶\t283
5.2.1 测试的好处\t283
5.2.2 红到绿工作流\t284
5.2.3 Cucumber\t285
5.2.4 Spy、Stub和Mock\t288
5.2.5 持续集成\t291
5.2.6 如何编写测试框架\t292
5.2.7 如何打造开源项目\t293
5.2.8 进一步学习TypeScript\t294
5.3 开源带来的机会和思考\t310
5.3.1 Clipanion\t310
5.3.2 机会与挑战\t312
5.3.3 敏感且会学\t313
5.3.4 成就更好的自己\t313
5.4 本章小结\t314
猜您喜欢