本人使用koa框架已经有三年时间,在这段时间里面,对koa项目不断的重构和研究,目前已经对koa项目的搭建有自己的心得,希望在这里跟大家分享我的成果,也希望可以帮助大家更好地使用koa框架进行快速的迭代和开发。

这系列将分不同的篇章,对koa项目使用的中间件和遇到的坑进行分析讲解。

第一章 项目介绍

我的公开koa项目demo gitee地址

├── app
    ├── common 公共库
    ├── controllers 路由控制器
    ├── middleware 中间件
    ├── models 模型层
    ├── schema 表映射
    ├── service 服务层
        ├── sys 系统服务层
├── config 配置文件
├── logs 日志文件
├── public 静态文件
    ├── views 视图文件
├── app.js
├── package.json

app目录

这个目录放的是js代码,就是处理业务逻辑的部分

  • common
    公共库,例如字符处理、时间处理等
  • controllers
    路由控制器,注意目录的拼写,因为后面会介绍配置上的一些规范
  • middleware
    中间件库,一些项目自己封装和使用到的中间件,demo里面包括了日志、orm和路由中间件
  • models
    模型层,就是传统的dao层,负责数据库的增删改查
  • schema
    表映射,就是数据库表的映射文件
  • service
    服务接口层,下面还分区了系统服务,就是针对dao层的接口,当然这里还可以是其他的服务接口。在实际的开发中,这里还有一层handler,负责调用不同service,避免"循环引用"的问题

config 目录

保存一些数据库配置文件、redis配置文件、路由配置文件等,注意目录的拼写(规范)

logs 目录

日志中间件配置的默认目录,如需修改,要在中间件文件里面修改,每天会自动生成一个新的时间戳命名日志文件,前天的日志文件会自动压缩

public 目录

静态文件目录,注意拼写,在app.js里面有相关的默认配置。包括html文件、js文件、css文件等

  • views
    html存在目录,注意目录拼写,在app.js里面有相关的默认配置
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐