说着也是奇怪,nodejs发展那么多年了,基础框架依旧横行霸道,当你提到nodejs的时候肯定会有人说koa/express 云云,然后随便搜索一下教程,就是教你如何制作一款博客。
诚然,nodejs强大的能力可不是给大家单单用来制作一款博客的...
无论是express还是koa,都是属于基础框架。我认为基础框架和企业级框架有两点是不同的:
- 基础框架没有任何的限制和约束,开发者可以以任意风格书写自己的代码,业务逻辑
- 企业级框架特别繁琐
没有任何约束的框架在一开始的时候会非常的爽快,开发几个demo,手到擒来,但是一旦代码真正上去的时候(而且一定会),你就会发现,大量重复的操作,重复的逻辑,以及无法做单元测试。导致项目的复杂度越来越高,代码越来越丑,非常的难以维护。
为框架添加一些约束,就会增加其难用程度,学习成本变高,很多新手就会觉得:哎哟,我这样写逻辑也是可以的嘛,为什么要搞那么复杂?
编程就是这样,如果你真正接触过一个从零到有的项目,你就会知道,很多东西你刚开始逃避的,到最后你就得全部加回来,一个不少!话虽如此,跑题有甚,今天我们就来看看,如何将基础框架koa变成一款低端的企业级框架。
教程特色
- Typescript:使用TS写成,使用装饰器(@)进行路由。
- 面向对象:controller和service全部以类方式书写
- 如何拓展koa的实例和koa的context对象
- 讲解controller和service的生命周期(与egg相同)
- 使用高级Api去处理controller和service的实例,实现高性能
- 更好的观看体验,在gitbook上。
- 每一个步骤的代码,我都保存下来了
- 免费的,但是是骗星的,觉得有收获,就点个星,别无他求....
- 还没写完...写了80%,还差实战部分以及多进程架构与进程间通信
目录
项目地址:
- 大项目的标配Typescript · 使用Typescript封装一款基础企业级Web框架
- 自动编译TS与服务器自动重启 · 使用Typescript封装一款基础企业级Web框架
- 路由拆分 · 使用Typescript封装一款基础企业级Web框架
- 引入Controller与Service的概念 · 使用Typescript封装一款基础企业级Web框架
- Controller的实现 · 使用Typescript封装一款基础企业级Web框架
- Service的实现 · 使用Typescript封装一款基础企业级Web框架
- 优雅的处理硬编码(配置) · 使用Typescript封装一款基础企业级Web框架
- 小总结 · 使用Typescript封装一款基础企业级Web框架
- 路由去中心化 · 使用Typescript封装一款基础企业级Web框架
- 项目目录结构的变化 · 使用Typescript封装一款基础企业级Web框架
- (非必要)插件的实现 · 使用Typescript封装一款基础企业级Web框架
- 还欠缺的东西 · 使用Typescript封装一款基础企业级Web框架
- 抽离自己的框架burn.js · 使用Typescript封装一款基础企业级Web框架
这一次,每一个步骤的代码,都有了:
为了阅读更加舒适,我已经将教程和代码写在Gitbook之中。
最后
诶,又来写了一个轮子,这款轮子是是系列教程《使用Typescript封装一款装饰器风格的Web框架》配套框架,全部使用Typescript编写完成。
在教程中,你将比较深入的了解到如何使用typescript&js的面向对象封装,将koa一步步的封装成为一款类egg.js的框架。
这样,你能就更深入的了解eggjs,根基更加牢固,本教程也算是eggjs typescript的一个前置教程吧。
喜欢的,给点星星,是你给我最大的支持,感谢。