官网
简单命令
yarn create egg --type=simple
yarn install
dev 与 start
- dev 主要是针对本地开发环境
- start 主要针对线上运行环境
主要文件介绍
从一个文件入手看看
home.js
'use strict';
const Controller = require('egg').Controller;
class HomeController extends Controller {
async index() {
const { ctx } = this;
ctx.body = 'hi, egg ';
}
}
module.exports = HomeController;
可以发现
- 虽然 node.js 本身是异步的,但是egg 是用同步的方式——
async
。 - ctx 是 一个全局的上下文
我们写多一个页面
'use strict';
const Controller = require('egg').Controller;
class HomeController extends Controller {
async index() {
const { ctx } = this;
ctx.body = 'hi, egg aa';
}
async demo() {
const { ctx } = this;
ctx.body = 'hi EGGGG';
}
}
module.exports = HomeController;
此时直接在页面url 加 demo 是直接 404 的,因为还需要再配置路由
router.js
'use strict';
/**
* @param {Egg.Application} app - egg application
*/
module.exports = app => {
const { router, controller } = app;
router.get('/', controller.home.index);
router.get('/demo', controller.home.demo);
};
这个 app 是 Egg 的一个实例,也就可以调用 实例中的一些方法、属性来进行操作。