前言
Egg.js 是阿里出品的一款 node.js 后端 web 框架,基于 koa 封装,并做了一些约定。 通常用于构建企业级应用。 具体文档可见: Egg中文文档
Egg.js工程初始化
我的环境
操作系统: win10
node版本:v16.15.1
npm版本:v8.11.0(* npm 最好高于6.x版本)
初始化
通过如下命令初始化项目
mkdir egg-example(项目名称, 可自定义) && cd egg-example
npm init egg
(如果选择simple 模式, 可直接使用命令: npm init egg --type=simple)
npm i
npm run dev
open http://1227.0.0.1:7001 (默认7001端口)
以下是创建过程
目录
以下是egg脚手架的目录, 这里我们常用的是app及config, 其他的在开发中我们不会经常去修改,有兴趣的小伙伴可以了解透彻一些。
egg-project
├── package.json
├── app.js(可选)
├── agent.js(可选)
├── app
| ├── router.js 路由配置文件,定义 URL 路径与控制器的映射
│ ├── controller 控制器,用于处理请求和响应。
│ │ └── home.js
│ ├── service(可选) 服务层,包含业务逻辑
│ │ └── user.js
| ├── model(可选) 数据模型,通常与数据库交互
│ │ └── user.js
│ ├── middleware(可选) 中间件,用于处理请求的中间步骤。
│ │ └── response_time.js
│ ├── schedule(可选) 用于定时任务
│ │ └── my_task.js
│ ├── public(可选) 提供静态资源的存放位置,方便前端访问
│ │ └── reset.css
│ ├── view(可选) 用于放置模板文件
│ │ └── home.tpl
│ └── extend(可选) 用于框架的扩展
│ ├── helper.js(可选)
│ ├── request.js(可选)
│ ├── response.js(可选)
│ ├── context.js(可选)
│ ├── application.js(可选)
│ └── agent.js(可选)
├── config 通过不同环境的配置文件,使得应用在不同环境下的表现可以灵活调整。
| ├── plugin.js
| ├── config.default.js
│ ├── config.prod.js
| ├── config.test.js(可选)
| ├── config.local.js(可选)
| └── config.unittest.js(可选)
└── test 强调测试驱动开发,确保代码质量
├── middleware
| └── response_time.test.js
└── controller
└── home.test.js