3

对 koajs 的学习已经持续一段时间,对于"用"这一层面基本掌握。学习之后,总是希望能实际的应用到项目之中。贸然给现有项目大换血是不现实的,姑且先拟一个小项目付诸实践。

在尝试使用 koajs 时,我依旧采用严格的 MVC 模式。M 做为数据模型层,主要负责业务数据的管理和操作,来源于数据库操作或者api调用。V 做为视图层,主要负责站点前台的展示。C 做为业务控制层,主要负责对站点业务流程的处理。基于这样的思路,首先建立起项目的基本目录结构:


+ configs(项目配置文件目录)
++ build(项目编译相关配置) *

+ controllers(项目业务控制代码目录)

+ kits(常用工具包)

+ middlewares(项目中间件)

+ models(业务数据对象,可以是操作数据库,可以是来源于调用api)

+ public(静态资源目录)
++ src(项目静态资源源文件)
++ publish(项目静态资源发布文件,发布自动生成)

+ routers(路由配置文件目录)

+ test(项目相关测试文件)

+ views(项目视图目录)
++ dev(开发视图文件)
++ pro(发布视图文件,发布自动生成)

+ app.js(项目入口)

注:项目目录是让写程序和看程序的人能一眼了解项目结构,我且主观的认为这样的结构是能让看到的人一目了然

对于以中间件为一级公民的koajs,在使用中我主要使用以下几个关键技术:

注:条条大路通罗马,所谓的技术选择全然是个人的爱好

剔除业务相关的功能,我将此项目的架子抽了出来,命名为koa-skeleton,意为骨架,希望供大家参考一二,项目地址: koa-skeleton


继林
583 声望65 粉丝

平凡的工程师