这篇我们来使用一个koa-router, 控制一下路由
本篇的版本:注意版本哦
目录结构:
1.编辑index.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| const Koa = require('koa') const Router = require('koa-router') const app = new Koa()
// 子路由1 const home = new Router()
home.get('/', async (ctx) => { ctx.body = "home pages" })
// 子路由2 const page = new Router()
page.get('/404', async (ctx) => { ctx.body = '404 pages' })
const login = new Router()
login.get('/', async (ctx) => { ctx.body = 'login pages' })
// 装载所有子路由 let router = new Router() router.use('/', home.routes(), home.allowedMethods()) router.use('/page', page.routes(), page.allowedMethods()) router.use('/login', login.routes(), login.allowedMethods())
// 加载路由中间件 app.use(router.routes()).use(router.allowedMethods())
app.listen(3000, () => { console.log('localhost:3000') })
|
2.启动服务,打开浏览器
访问:localhost:3000, localhost;3000/login , localhost:3000/page/404
都是可以看的到结果的
关于koa-router其他API
源码地址:https://github.com/alexmingoia/koa-router
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| router .get('/', (ctx, next) => { ctx.body = 'Hello World!'; }) .post('/users', (ctx, next) => { // ... }) .put('/users/:id', (ctx, next) => { // ... }) .del('/users/:id', (ctx, next) => { // ... }) .all('/users/:id', (ctx, next) => { // ... });
|
后记
关于koa相关的路由控制中间件有很多,就看自己的选择了
这里有个中路由中间件汇集https://cnodejs.org/topic/57838dfaee5f048d54f90877
–
首发于微信公众号:node前端
不妨关注一下