一文讲透koa-源码剖析

前言

本文从头开始由浅入深剖析现在十分流行的koa框架的核心源码,适合已经熟练掌握koa框架使用的开发人员阅读

核心机制

现在,让我们从头开始看看koa的内部究竟做了些什么?

阅读更多

常见设计模式概要及其实践-TypeScript实现

若有不足或纰漏,欢迎指教

前言:

得益于TypeScript强大灵活的OOP语法,使得在js中使用经典且可靠的OOP设计模式变成了现实,虽然有的公司已经在大规模地使用TS进行中大型项目的开发,但极少有项目真正充分发挥了TS健全的OO语法优势,Java like 的OOP语法使其在思想上与Java的设计模式几乎无异,本文选取了一些常见且重要的设计模式进行提炼总结,避免探讨OOP与函数式编程孰优孰劣,模式的具体实现均采用TS进行编写,文末有彩蛋哦。

本文所有实战代码示例的GitHub仓库地址,欢迎Star

使用设计模式的意义:库与框架无法帮助我们将应用组织成容易了解,容易维护,具有弹性的架构,所以需要设计模式

阅读更多

用supertest进行API测试

在node开发中,写完了API接口之后,往往都要进行测试,现在常用的测试模块一般都是mochachai
然后我们应该有相配合的请求模块来帮助我们更好地完成断言的工作,今天要介绍的主角就是supertest

用过superagent的童鞋应该都知道,supertest的用法同样简洁优雅,本文环境基于Express,废话不说,上实战代码

阅读更多

Express下多次callback引发的问题

错误结果

Error: Can’t render headers after they are sent to the client.

错误:当响应头被发回客户端时不能被正确渲染!

出现场景

Express环境下使用mongoose model 进行模糊查询时,需要用ORM进行至少一次至多两次的查询,查询用的都是Promise进行的异步操作

阅读更多