Egg项目手动搭建
Egg.js 是一个基于 Koa 的框架,它提供了一套更加严格的约定,帮助团队构建更加可维护的 Node.js 应用。以下是搭建一个基本的 Egg.js 项目的步骤:
步骤 1:初始化项目
首先,你需要创建一个新的目录作为项目的根目录,并初始化 npm 项目:
js
mkdir my-egg-app
cd my-egg-app
npm init -y
步骤 2:安装 Egg.js
通过 npm 安装 Egg.js:
sh
npm install egg --save
步骤 3:创建基本目录结构
Egg.js 遵循特定的目录结构,以下是最基本的结构:
js
my-egg-app
├── app
│ ├── controller
│ ├── service
│ ├── middleware
│ ├── model
│ ├── router.js
│ └── ...
├── config
│ ├── config.default.js
│ └── ...
├── test
├── app.js (可选)
└── package.json
你可以手动创建这些目录,或者使用 Egg.js 提供的脚手架工具 egg-init 来生成:
js
npm install egg-init -g
egg-init --type=simple
步骤 4:编写 Controller 和 Router
在 app/controller 目录下创建一个控制器文件,例如 home.js:
js
// app/controller/home.js
const Controller = require('egg').Controller;
class HomeController extends Controller {
async index() {
this.ctx.body = 'Hello World';
}
}
module.exports = HomeController;
然后在 app/router.js 文件中定义路由:
js
// app/router.js
module.exports = app => {
const { router, controller } = app;
router.get('/', controller.home.index);
};
步骤 5:配置文件
在 config 目录下,你可以定义不同环境的配置文件。最基本的配置文件是 config.default.js:
js
// config/config.default.js
exports.keys = 'some_secret_key'; // 你应该为你的应用设置一个密钥
// 添加其他配置...
步骤 6:启动应用
在 package.json 文件中添加启动脚本:
js
{
"scripts": {
"start": "egg-scripts start --daemon",
"stop": "egg-scripts stop",
"dev": "egg-bin dev",
"debug": "egg-bin debug",
"test": "egg-bin test"
}
}
然后,你可以使用以下命令在本地开发环境启动你的应用:
js
npm run dev
应用默认会在 7001 端口启动,你可以通过访问 http://localhost:7001
来查看你的应用。
步骤 7:编写其他应用逻辑
根据你的应用需求,你可以继续添加服务(Service)、中间件(Middleware)、模型(Model)等。
步骤 8:编写测试
Egg.js 支持使用 mocha 进行单元测试,你可以在 test 目录下编写测试用例。
步骤 9:部署
使用 npm start 来启动你的应用,或者使用 PM2、Docker 等工具进行部署。
TIP
这些步骤为你提供了一个基本的 Egg.js 项目搭建流程。Egg.js 的文档非常全面,你可以通过阅读 Egg.js 官方文档 来了解更多高级特性和最佳实践。
Egg 项目Demo https://gitee.com/wusaisai533