3. 路由
1. 简单的页面路由
思路:
- 解析请求的url获得请求页面路径
- 根据不同的页面路径获得不同的渲染页面模板
- 将模板内容传给ctx.body
// my-koa-router.js
const Koa = require('koa');
const app = new Koa();
const {
handleRouter } = require('./middleware/router.js');
// 将处理路由函数进行封装成一个中间件
app.use(handleRouter);
app.listen(5000, () => {
console.log('start at port 5000');
});
// router.js
const readFile = path =>
new Promise((resolve, reject) =>
// 这里读的文件格式需要注意,默认读出来的是buffer
fs.readFile(path, 'utf-8', (err, data) =>
err ? reject(err) : resolve(data)
)
);
async function handleRouter(ctx, next) {
let