Egg.js 项目初始化工具使用教程
egg-init Init egg app helper tools 项目地址: https://gitcode.com/gh_mirrors/eg/egg-init
1. 项目的目录结构及介绍
Egg.js 项目初始化工具 egg-init
生成的项目目录结构如下:
egg-project/
├── app/
│ ├── controller/
│ ├── model/
│ ├── service/
│ └── router.js
├── config/
│ ├── config.default.js
│ ├── config.prod.js
│ └── plugin.js
├── test/
├── package.json
├── README.md
└── .eslintrc
目录结构介绍
-
app/: 应用代码的主要目录,包含控制器、模型、服务和路由等。
- controller/: 存放控制器文件,处理请求和响应。
- model/: 存放数据模型文件,通常用于数据库操作。
- service/: 存放服务文件,封装业务逻辑。
- router.js: 路由配置文件,定义请求路径和对应的控制器方法。
-
config/: 配置文件目录,包含不同环境的配置文件。
- config.default.js: 默认配置文件,包含所有环境的通用配置。
- config.prod.js: 生产环境配置文件,覆盖默认配置。
- plugin.js: 插件配置文件,定义项目中使用的插件。
-
test/: 测试代码目录,包含单元测试和集成测试文件。
-
package.json: 项目依赖和脚本配置文件。
-
README.md: 项目说明文档。
-
.eslintrc: ESLint 配置文件,用于代码风格检查。
2. 项目的启动文件介绍
Egg.js 项目的启动文件通常是 app/router.js
和 app/controller/home.js
。
app/router.js
module.exports = app => {
const { router, controller } = app;
router.get('/', controller.home.index);
};
- router.get('/', controller.home.index): 定义了一个 GET 请求的路由,当访问根路径
/
时,会调用controller.home.index
方法。
app/controller/home.js
const Controller = require('egg').Controller;
class HomeController extends Controller {
async index() {
this.ctx.body = 'Hello, Egg.js!';
}
}
module.exports = HomeController;
- HomeController: 定义了一个控制器类,包含一个
index
方法,用于处理根路径的请求。 - this.ctx.body: 设置响应内容为
'Hello, Egg.js!'
。
3. 项目的配置文件介绍
Egg.js 项目的配置文件主要位于 config/
目录下。
config/config.default.js
module.exports = {
keys: 'your-secret-key',
middleware: ['errorHandler'],
errorHandler: {
match: '/',
},
};
- keys: 设置应用的密钥。
- middleware: 配置中间件,
errorHandler
是一个错误处理中间件。 - errorHandler.match: 指定错误处理中间件匹配的路径。
config/config.prod.js
module.exports = {
logger: {
dir: '/var/logs/eggjs',
},
};
- logger.dir: 设置生产环境日志文件的存储路径。
config/plugin.js
exports.mysql = {
enable: true,
package: 'egg-mysql',
};
- mysql: 配置 MySQL 插件,
enable
设置为true
表示启用该插件,package
指定插件的包名。
通过以上配置文件,可以灵活地调整 Egg.js 项目的运行环境和插件配置。
egg-init Init egg app helper tools 项目地址: https://gitcode.com/gh_mirrors/eg/egg-init