- 脚手架搭建项目
npm init egg --type=simple
npm i
npm run dev //启动
- 目录结构
- app/router.js 用于配置 URL 路由规则
//app相当于一个全局对象
module.exports = app => {
const {router, controller} = app;
router.get('/', controller.home.index);
router.get('/text', 'home.text');
// 重定向
router.redirect('/text2', '/text')
// 或者
router.get('/text2', 'home.text');
};
路由过于繁琐可以简写的方式
const mapper = {};
mapper.mapUser = function (app) {
const {router} = app;
const prefix = "/api/user";
router.post(`${prefix}/login`, "user.login")
router.post(`${prefix}/:id`, "user.info")
}
module.exports = (app) => {
Object.values(mapper).forEach(m => m(app))
}
//
//或者
const mapper = {
"api/user":[
{
methods:'get',
path:'/login',
controller:'user.login'
}
]
}
- controller 控制层(设置uri,返回参数)解析用户的输入,处理后返回相应的结果
class HomeController extends Controller {
async index() {
const { ctx } = this;
ctx.body = 'hi, egg';
}
async text(){
const {ctx} = this;
ctx.body = 'text demo'
}
}
待续…