官网
简单命令
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 的一个实例,也就可以调用 实例中的一些方法、属性来进行操作。
