创建工程
mkdir koa_router
进入工程
cd koa_router
初始化
npm init
安装koa模块和路由模块
// koa路由地址:https://www.npmjs.com/package/koa-router
npm install koa-router --save 或者 yarn add koa-router --save
npm install --save koa 或者 yarn add koa --save
使用
// 引入koa和路由模块
let Koa = require('koa');
let Router = require('koa-router');
/**
* 配置路由的另一种方式:
* let router = require('koa-router')(); 引入并实例化
*/
// 实例化
let app = new Koa();
let router = new Router();
// app.use(async(ctx) => {
// ctx.body = '你好,koa路由';
// });
// 配置路由,ctx 上下文context,包含了request和response等信息
router.get('/', async (ctx, next) => {
ctx.body = "首页"; // 相当于:原生里面的res.writeHead() res.end()
}).get('/news', async (ctx, next) => {
ctx.body = "新闻";
});
app
.use(router.routes()) // 启动路由
.use(router.allowedMethods()); // 可配置可不配置,建议配置
/**
* router.allowedMethods()
* 作用: 这是官方文档的推荐用法,我们可以看到 router.allowedMethods()用在了路由匹配 router.routes()之后,
* 所以在当所有 路由中间件最后调用.此时根据 ctx.status 设置 response 响应头
*/
// 监听端口
app.listen(3000);