前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >iKcamp新书上市《Koa与Node.js开发实战》

iKcamp新书上市《Koa与Node.js开发实战》

作者头像
iKcamp
发布于 2019-01-02 05:04:34
发布于 2019-01-02 05:04:34
1.6K0
举报
文章被收录于专栏:iKcampiKcamp

内容摘要

Node.js 10已经进入LTS时代!其应用场景已经从脚手架、辅助前端开发(如SSR、PWA等)扩展到API中间层、代理层及专业的后端开发。Node.js在企业Web开发领域也日渐成熟,无论是在API中间层,还是在微服务中都得到了非常好的落地。本书将通过Web开发框架Koa2,引领你进入Node.js的主战场! 本书系统讲解了在实战项目中使用Koa框架开发Web应用的流程和步骤。第1章介绍Node.js的安装、开发工具及调试。第2章和第3章介绍搭建Koa实战项目的雏形。第4章详细介绍HTTP基础知识及其实战应用。第5章介绍MVC、模板引擎和文件上传等实用功能。第6~8章介绍数据库、单元测试及项目的优化与部署。第9~13章介绍从零开始搭建时下火爆的微信小程序前端及后台管理应用的全部过程,以及最终的服务器部署,包括HTTPS、Nginx。 本书示例丰富、侧重实战,以完整的实战项目贯穿全部章节,并提供书中涉及的所有源码及部分章节的配套视频教程,将是前端开发人员立足新领域和后端开发人员了解Node.js并使用Koa2开发Web应用的得力助手。

前言

Node.js诞生于2009年,到本书出版时已经有近10个年头。它扩充了JavaScript的应用范围,使JavaScript也能像其他语言一样操作各种系统资源,因此,前端工程化开发的大量工具都开始运行在Node.js环境中。由于Node.js采用事件驱动、非阻塞I/O和异步输出来提升性能,因此大量I/O密集型的应用也采用Node.js开发。掌握Node.js开发,既能极大地拓宽前端开发者的技术知识面,也能拓展前端开发者的生存空间,从目前前端开发者越来越多的环境中脱颖而出。

由于Node.js仅提供基础的类库,开发者需要自主合理地设计应用架构,并调用大量基础类库来进行开发。为了提升开发效率和降低开发门槛,相关技术社区涌现出不少基于Node.js的Web框架。

Express框架在Node.js诞生之初出现,并迅速成为主流的Web应用开发框架。在社区中,大量的第三方开发者开发了丰富的Express插件,极大地降低了基于Node.js的Web应用开发成本,同时也带动了大量的开发者选择使用Express框架开发Web应用。但Express框架采用传统的回调方式处理异步调用,对于经验不足的开发者来说,很容易将代码写成“回调地狱”,使开发的应用难以持续维护。在ECMAScript 6的规范中提出了Generator函数,依据该规范,Express的作者TJ Holowaychukhttps://github.com/tj巧妙地开发了co库https://github.com/tj/co,使开发者能够通过yield关键词,像编写同步代码一样开发异步应用,从而解决了“回调地狱”问题。2014年,他基于co库开发了新一代的Web应用开发框架Koa,用官方语言来描述这个框架就是“next generation web framework for Node.js”。

社区开发者为Koa开发了大量的插件,与Express相比,两者的处理机制存在根本上的差异。Express的插件是顺序执行的,而Koa的中间件基于“洋葱模型”,可以在中间件中执行请求处理前和请求处理后的代码。ECMAScript 7提供了Async/Await关键词,从语法层面更好地支持了异步调用。TJ Holowaychuk在Koa的基础上,采用Async/Await取代co库处理异步回调,发布了Koa第2版(简称Koa2)。随着Node 8 LTS(Long Term Support,长期支持)的发布,LTS版本正式支持ECMAScript 7规范,选择使用Koa开发框架开发的Node.js Web应用也越来越多,Koa框架逐步取代了Express框架。 尽管目前Koa非常流行,但“纯天然”支持ECMAScript 7语法的Node.js 8在2017年10月才正式发布。目前,市面上介绍Koa的书籍几乎没有,大多介绍的是Express框架,本书可以说是第一本介绍Koa的书籍。本书从Node.js基础、HTTP、Koa框架、数据库、单元测试和运维部署等方面全方位地介绍了应用开发所应具备的知识体系。通过阅读本书,读者可以了解Node.js开发的方方面面,减少实际开发中出现的问题。同时,本书的重点章节也提供了线上代码讲解和视频,读者可以在阅读本书的同时,结合线上代码讲解和视频,更容易地理解本书介绍的知识。

特别感谢杜珂珂、哈志辉、姜帅、李波、李益、盛瀚钦、田小虎、徐磊、闫萌、赵晨雪(排名不分先后)对线上培训音视频课程资源的开发和支持。

本书特色

  • 重点章节附带教学视频。 为了便于读者理解本书的内容,一些基础、重点的内容配有视频教程。读者可以访问https://ikcamp.com,结合书中内容观看视频。
  • 所有源码托管于GitHub。 为了降低读者获取源码的难度,本书的所有源码都托管于GitHub(https://github.com/ ikcamp),读者也可通过GitHub直接和本书作者沟通。
  • 一线互联网公司Node.js技术栈实战经验总结。 本书补充了前端开发者所不具备的后端开发技能和规范,介绍了如何开发Koa应用,如何通过ORM(Object Relational Mapping,对象关系映射)类库读写数据库,如何通过单元测试来保障代码质量,如何通过PM2、CI等方式启动并部署Node.js应用,以及如何采用日志、监控来保障线上应用的稳定运行等内容。
  • 典型项目案例解析,实战性强。 本书第3篇通过云相册小程序开发项目介绍了目前流行的小程序技术,包括小程序登录流程、扫码登录、文件上传、相册管理等功能。通过学习本书的相关内容,读者可以独立开发时下流行的小程序和其需要的后端服务。

本书知识体系

第1篇 基础知识(第1~4章)

这部分介绍了开发Koa应用需要具备的预备知识,包括Node.js入门、遇见Koa、路由和HTTP共4个章节。 在第1章中,介绍了Node.js的历史和发展过程,以及Node.js基础和环境准备。介绍了NPM(Node Package Manager,Node.js的第三方包管理工具),通过该包管理工具,开发者能够方便地使用大量的第三方软件包。本章还介绍了微软公司推出的免费开发工具:Visual Studio Code编辑器,以及如何使用该编辑器调试Node.js应用。 在第2章中介绍了Koa的发展历程和作为Koa核心技术的中间件。 在第3章中介绍了路由的概念,以及Koa中最流行的路由中间件koa-router。 在第4章中介绍了HTTP的基础知识,以及HTTP的后续协议HTTP/2;介绍了在Node.js中如何获取客户端传递来的数据,如何通过koa-bodyparser中间件获取请求中的body数据等。

第2篇 应用实战(第5~8章)

这部分介绍了应用开发各个环节的知识,包含构建Koa Web应用、数据库、单元测试、优化与部署共4个章节。 在第5章中介绍了MVC架构、模板引擎、静态资源,以及如何输出JSON数据,如何通过koa-multer中间件上传文件等。 在第6章中介绍了数据库的概念和以MySQL为代表的关系型数据库,以及如何通过ORM类库操作MySQL数据库;介绍了以MongoDB为代表的非关系型数据库,以及如何在Node.js中操作MongoDB;介绍了以Redis为代表的新型缓存数据库,以及如何在Node.js中利用Redis实现Session持久化。 在第7章中介绍了Chai断言库,它用来检测单元测试过程中的结果是否符合预期;介绍了Mocha测试框架,使用该框架可以编写和运行单元测试代码;介绍了使用SuperTest工具测试HTTP服务,以及通过Nock库模拟HTTP服务请求响应;最后,介绍了Nyc工具,用以检查单元测试的覆盖率、提升代码质量。 在第8章中介绍了如何记录日志和统一捕获异常,以及如何输出自定义错误页;介绍了如何通过PM2、Docker启动应用,如何通过CI集成发布应用,如何通过Nginx提供HTTPS支持;介绍了如何利用日志等途径监控服务器运行情况,以及如何利用PM2提供的Keymetrics监控云服务器

第3篇 项目实战:从零开始搭建微信小程序后台(第9~13章)

这部分通过介绍时下最流行的小程序开发,结合具体的相册小程序来说明如何开发一个完整的小程序,以及如何部署小程序。其中,汇总本书前面章节的知识介绍了小程序的功能模块、接口开发、小程序开发、管理后台开发和服务部署。 在第9章中介绍了小程序应具备的产品功能及如何开发小程序门户网站。 在第10章中介绍了小程序登录流程,扫码登录的逻辑和实现方式,小程序中用到的接口和后台管理系统需要的接口。具体包括如何通过中间件来鉴权,如何统一控制后台管理系统的权限,如何通过Mongoose来定义数据模型和访问、存储数据,如何使用log4js记录日志。 在第11章中介绍了开发微信小程序的流程,以及如何借助微信开发者工具开发小程序。 在第12章中介绍了开发后台管理系统的整体架构和设计思路,并提供了一套登录与鉴权的技术方案。 在第13章中介绍了小程序相关服务的线上部署过程,包括对数据库、Nginx、HTTPS、和Koa服务的部署,具体包括如何通过Nginx实现把多个域名解析到同一台云服务器上,如何通过PM2管理应用。

本书适合读者

  • Web前端开发人员
  • 对Node.js应用感兴趣的开发人员
  • Node.js开发的自学者
  • 大中专院校相关专业的教师和学生
  • 相关培训机构的学员

本书由陈达孚、金晶、干珺、张利涛、戴亮、周遥、薛淑英编写。本书涉及的技术知识点较多,作者团队成员虽竭力争取奉献好的作品以使技术得到更好的普及,但难免存在疏漏和不足,读者如有问题或建议,可以直接到iKcamp的GitHub上留言。本书源码也可前往GitHub上获取,地址为https://github.com/ikcamp。本书部分内容配有视频,可前往https://camp.qianduan.group/koa2/2/0/0观看。

本书已经在各大电商网站开始上架,感谢对iKcamp的支持!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-12-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Koa2进阶:CMS系统实战开发秘籍:1.为什么选择Koa2?
本次的专栏是基于koa2作为服务端开发语言,由此我们简单介绍下koa2的相关内容。了解下什么是koa2。以及它的优势是什么。
微芒不朽
2024/07/30
1360
Koa2进阶:CMS系统实战开发秘籍:1.为什么选择Koa2?
苏宁的Node.js实践:不低于Java的渲染性能、安全稳定迭代快
苏宁的技术架构,由苏宁云、基础支撑、后台、中台和前台组成。苏宁云主要为业务开发提供云服务。基础支撑,包括数据连接协议、防火墙、日志、中间件、短信等。在苏宁云和基础支撑之上,业务开发分为前中后台。而 Web 前端,主要集中在前台上。包含 PC 端、移动 WAP 端等。
五月君
2019/08/20
1.2K0
苏宁的Node.js实践:不低于Java的渲染性能、安全稳定迭代快
【完结汇总】iKcamp出品基于Koa2搭建Node.js实战共十一堂课(含视频)
??  与众不同的学习方式,为你打开新的编程视角 独特的『同步学习』方式 文案讲解+视频演示,文字可激发深层的思考、视频可还原实战操作过程。 云集一线大厂有真正实力的程序员 iKcamp 团队
iKcamp
2018/03/30
7850
【完结汇总】iKcamp出品基于Koa2搭建Node.js实战共十一堂课(含视频)
不可错过的Node.js框架
前言 Node.js是由Ryan Dahl于2009年创建的。它是一个开源的跨平台运行时环境,用于开发服务器端和网络应用程序,它是基于Google Chrome V8 JavaScript引擎构建的。Node.js使用事件驱动,非阻塞I/O模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。你可以通过在Node.js中运行JavaScript,使用Ruby或者PHP语言做想做的任何事情。 由于其具有可以方便地搭建响应速度快、易于扩展的网络应用等特性,Node.js受到了Netflix,
xiangzhihong
2018/02/05
3.4K0
书单丨一同追逐前端技术发展的脚步
作者运用细致入微的讲解方式带你领略Vue.js的独特魅力,致力于协助你从零开始基于Vue.js创建一个Web应用。如果你是一位熟练运用JavaScript、HTML和CSS的前端开发者,那么本书将向你呈现如何使用Vue来开发一个功能齐全的Web 应用。
博文视点Broadview
2020/06/10
5030
书单丨一同追逐前端技术发展的脚步
前端Express框架必学之:Node.js项目搭建与接口开发实战
Express是一个基于Node.js平台的轻量级Web应用框架,它提供了简洁的API和丰富的功能,使得开发者能够快速地构建Web服务器和API。本文将带领大家从零开始,使用Express框架搭建一个简单的Web应用。
肥晨
2024/04/24
2.3K0
前端Express框架必学之:Node.js项目搭建与接口开发实战
iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 规范与部署
沪江CCtalk视频地址:https://www.cctalk.com/v/15114923889450 规范与部署 懒人推动社会进步。 本篇中,我们会讲述三个知识点 定制书写规范 开发环境运行 如何部署运行 定制书写规范 文中所说的书写规范,仅供参考,非项目必需。 随着 Node 流行,JavaScript 编码规范已经相当成熟,社区也产生了各种各样的编码规范。但是在这里,我们要做的不是『限制空格的数量』,也不是『要不要加分号』。我们想要说的规范,是项目结构的规范。 目前我们的项目结构如下: ├─ c
iKcamp
2018/03/30
1.5K0
Node.js 搭建一个 API 接口服务(实战)
因为最近打算自己搭建一个自己的博客系统,用来记录日常的学习和提升一下写作水平,所以能就打算自己搭建一下前后端项目。在网上找了下,也没有找到合适(现成)的项目,所以就打算自己动手来搭建一下。这篇文章主要描述如何搭建一个node的API接口服务。
五月君
2021/01/27
8.7K0
Node.js 搭建一个 API 接口服务(实战)
iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 视图Nunjucks
视频地址:https://www.cctalk.com/v/15114923888328 视图 Nunjucks 彩虹是上帝和人类立的约,上帝不会再用洪水灭人。 客户端和服务端之间相互通信,传递的数据最终都会展示在视图中,这时候就需要用到『模板引擎』。 什么是模板引擎? 模板引擎是为了使用户界面与业务数据分离而产生的,可以生成特定格式的文档。例如,用于网站的模板引擎会生成一个标准的 HTML 文档。 市面上常见的模板引擎很多,例如:Smarty、Jade、Ejs、Nunjucks 等,可以根据个人喜好进行
iKcamp
2018/03/30
9820
狼书三卷终大成,狼叔亲传Node神功
👆点击“博文视点Broadview”,获取更多书讯 提起国内的Node.js布道师,你一定会想到狼叔! 狼叔(桑世龙,网名i5ting)从2015年开始活跃于CNode社区,累计发表文章200余篇,主题丰富多样——Node.js底层原理、npm目录结构改进、前后端分离实践、全栈工程师之路等。 这几年间,狼叔同时运营着自己的微信公众号“Node全栈”,笔耕不辍,源源不断地将最新鲜、最“硬核”的资讯分享给国内的开发者们。 如今,JavaScript在大前端领域遍地开花,Node.js也已经被广泛应用于Web
博文视点Broadview
2023/04/04
7380
狼书三卷终大成,狼叔亲传Node神功
《WEEX跨平台开发实战》出版啦
近年来,伴随着大前端概念的提出和兴起,移动端和前端的边界变得越来越模糊,一大批移动跨平台开发框架和模式涌现出来。从早期的PhoneGap、Inoic 等Hybrid技术,到现在耳熟能详的React Native、WEEX和Flutter等跨平台技术,无不体现着移动端开发的前端化。 作为阿里巴巴开源的一套移动跨平台技术框架,WEEX框架最初是为了解决移动开发过程中频繁发版和多端研发的问题而开发的。具体来说,使用WEEX提供的跨平台开发技术,开发者可以很方便地使用Web前端技术来构建高性能、可扩展的原生性能体验,并支持在Android、iOS和Web等多平台上进行部署。 作为目前主流的跨平台技术框架之一,WEEX项目使用Vue.js进行编写,对于熟悉Web前端开发的开发者来说,其是一个不错的选择。在性能和项目迭代方面,WEEX与PhoneGap、Inoic等Hybrid技术相比也有一定的优势。 不过由于种种原因,WEEX的社区生态并不是很完善,也没有一本系统介绍WEEX的书籍。基于对跨平台技术的热爱,以及积累的一些WEEX项目实战经验,笔者思量再三决定对WEEX框架进行系统的梳理,并将其整理成书。 “路漫漫其修远兮,吾将上下而求索。”通过对WEEX技术的学习和本书的写作,笔者深刻地意识到“学无止境”的含义。如果本书对你学习WEEX有所帮助和启发,笔者将不胜欣慰。
xiangzhihong
2022/11/30
3020
抖音电商前端架构师手把手教你 Koa 开发
目前大型互联网公司对于前端工程师的需求越来越大,一些高级的前端岗位依然非常缺人,候选人的面试通过率却非常低。究其原因,这些互联网公司对于前端工程师的要求越来越高,它们希望候选人不局限于掌握浏览器,也要掌握一些偏后端的技能。
五月君
2022/05/19
9000
抖音电商前端架构师手把手教你 Koa 开发
深入浅出 Koa2:现代 Node.js 框架
Koa2 是一个现代的、简洁的 Node.js 框架,由 Express 团队设计和开发。与 Express 相比,Koa2 提供了更加精简和强大的功能,特别是其中间件处理机制和异步编程能力,深受开发者喜爱。本文将详细介绍 Koa2 的安装、基本用法、核心概念及其高级功能,并通过示例代码展示如何构建一个功能完整的 Web 应用程序。
Michel_Rolle
2024/07/31
2.7K0
书单丨大前端的世界太太太太璀璨了吧
随着大前端领域的蓬勃发展,跨平台开发、API构建、Web应用开发等场景愈加常见,Node.js也成为大前端开发的必备“神器”。
博文视点Broadview
2020/06/10
1.2K0
书单丨大前端的世界太太太太璀璨了吧
主流Node.js 框架推荐
目前前端技术非常火热,并且技术持续更新,目前很多前端技术是基于Node.js构建。Node.js也成为前端工程师必会的技术栈,这里为前端开发工程师推荐几个好用的Node.js框架。
用户6256742
2022/07/06
6.4K0
主流Node.js 框架推荐
使用Vue3和Node.js开发管理端系统实践
开始之前推荐一篇实用的文章:探索微信小程序的奇妙世界:从入门到进阶原创 ,这篇文章从入门到进阶,全面剖析小程序开发流程与技巧,适合各层次开发者,助力快速掌握并提升技能,推荐大家前往阅读。
用户3484293
2024/12/02
3090
Node.js 未来发展趋势
Tech 导读 本文将从 Node.js 优劣势对比、系统架构、对前端影响三个层面深入分析,以及对未来行业发展趋势的一些预测进行讨论。Node.js 的未来是非常光明的,它将继续影响和改变软件开发的方式和流程,成为开发人员必备的技术之一。同时,随着技术的不断发展和应用场景的不断扩大,Node.js 也将不断演进和壮大。
京东技术
2023/08/22
5540
Node.js 未来发展趋势
学习 Node.js 一本书就够了【送书】
每过十天半个月,公众号「Web项目聚集地」就会给大家发福利,福利不限于学习资料、实体书籍。电子工业出版社上新了一本书籍《Node.js实战:使用Egg.js+Vue.js+Docker构建渐进式、可持续集成与交付应用》,本书以实现一个类似Dribble的应用为例,将Node.js的技术点贯穿前后端的开发,整合Egg.js、Vue.js、Docker实现持续集成、持续部署的前后端分离应用。本书不局限于对Egg.js、Vue.js、Docker的讲解,书中还分享企业中必须要懂得的开发常识,比如如何对接服务(支付宝支付对接)、开放服务(通过OAuth开放API给第三方)。
用户1093975
2018/12/13
1.6K0
2024 版:Node.js+Express+Koa2+Nest.js 开发服务端(高の青)
在现代的 web 开发中,Node.js 是一种非常流行的服务器端 JavaScript 环境。我们来编写一个大致的框架和一些关键代码片段,以帮助你了解如何使用 Node.js、Express、Koa2 和 Nest.js 开发服务端应用。
百课优用户
2024/07/29
3530
Node.js初探
首先,我想说:“很荣幸在经历了2个月的努力,第一个Node.js项目落地了”。整个项目做下来,还是算比较顺畅的。
前端迷
2018/12/05
3.8K0
Node.js初探
推荐阅读
相关推荐
Koa2进阶:CMS系统实战开发秘籍:1.为什么选择Koa2?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档