快速初始化
可直接通过脚手架快速生成项目
npm init egg --type=simple
npm i
基本目录结构
app/router.js
用于配置 URL 路由解析规则,通过 Router 将用户的请求基于 method 和 URL 分发到对应的 Controller
app/controller/**
用于解析用户的输入,处理后返回相应的结果,Controller 层主要对用户的请求参数进行处理(校验、转换),然后调用对应的 service 方法处理业务,得到业务结果后封装并返回:
- 获取用户通过 HTTP 传递过来的请求参数
- 校验、组装参数
- 调用 Service 进行业务处理,必要时处理转换 Service 的返回结果,让它适应用户的需求。
- 通过 HTTP 将结果响应给用户。
service
,编写业务逻辑层,简单来说,就是在复杂业务场景下用于做业务逻辑封装的一个抽象层
config/config.{env}.js
用于编写配置文件。
多环境配置
框架支持根据环境来加载配置,定义多个环境的配置文件
静态资源
egg 框架内置了 static 插件
static 插件默认映射 /public/* -> app/public/*
目录
单元测试
测试文件应该放在项目根目录下的 test 目录下,并以 test.js
为后缀名,{app_root}/test/**/*.test.js
。