本文基于手动搭建koa+ts项目框架(基础篇)配置接口路由
koa-router
npm i -S koa-router
koa-router
并使用./src/index.ts
文件引入
import Koa from "koa";
import koaRouter from "koa-router"
const app = module.exports = new Koa();
const router = new koaRouter()
router.get('/koa2', async (ctx: Koa.Context) => {
ctx.body = 'Hello Koa 2!';
})
router.post('/koa', async (ctx: Koa.Context) => {
ctx.body = {
test: 'Hello Koa'
};
})
app.use(router.routes())
if (!module.parent) app.listen(3000);
执行npm run dev
开启服务,使用postman
查看创建的/koa2
和/koa
是否生效
在项目级别一般都会有很多接口,且每个模块都有对应的前缀开头,咱就以模块区分路由
src
目录新建routes
文件夹
routes
文件夹内新建index.ts
和usr.ts
文件
./src/routes/index.ts
不加前缀import Koa from 'koa'
const router = require('koa-router')()
router.get('/', async (ctx: Koa.Context) => {
ctx.body = 'Hello Index'
})
export default router
./src/routes/usr.ts
使用prefix
设置前缀import Koa from 'koa'
const router = require('koa-router')()
router.prefix('/user')
router.get('/userInfo', async (ctx: Koa.Context) => {
ctx.body = {
name: 'admin'
}
})
export default router
./src/index.ts
引入上面两个文件import Koa from "koa";
import index from "./routes/index"
import users from "./routes/user"
const app = module.exports = new Koa();
// routes
app.use(index.routes())
app.use(users.routes())
if (!module.parent) app.listen(3000);
根据不同模块拆分多个routes
是的代码更加清晰,易于维护~
如有启发,可点赞收藏哟~