文章目录
- ⭐前言
- ⭐koa 原生路由写法
- ⭐引入 koa-router
- 💖 安装koa-router
- 💖 动态读取路径文件作为路由
- ⭐结束
⭐前言
大家好,我是yma16,本文介绍koa框架的路由。
往期文章
node_windows环境变量配置
node_npm发布包
linux_配置node
node_nvm安装配置
node笔记_http服务搭建(渲染html、json)
node笔记_读文件
node笔记_写文件
node笔记_连接mysql实现crud
node笔记_formidable实现前后端联调的文件上传
node笔记_koa框架的路由写法
⭐koa 原生路由写法
写两个路由分别是index、和designXml.xml
否则返回:home
const Koa = require('koa');
const app = new Koa();
const fs = require('fs')
app.use(async (ctx, next) => {await next();if (ctx.path === '/index' && ctx.method === 'GET') {ctx.body = 'index'}else if(ctx.path === '/designXml.xml' && ctx.method === 'GET'){ctx.response.type = 'xml';ctx.response.body = fs.createReadStream('designXml.xml');}else{// 默认ctx.body = 'home'}
});
app.listen(3000);
渲染结果:
缺点:每次都要进行判断就很不友好。
⭐引入 koa-router
💖 安装koa-router
npm install koa-router
示例:index路由
const Koa = require('koa')
const Router = require('koa-router')
const app = new Koa();
const router = new Router()
router.get('/index', (ctx, next) => {ctx.body = "index koa-router"
})
app.use(router.routes())app.listen(3000);
💖 动态读取路径文件作为路由
创建路由目录结构
| 项目
|router|-- routes|-- home.js|-- model| -- home.js|index.js
|koa-server.js
index.js读取路径
const fs = require('fs')
module.exports = app => {// 读取当前路径下 moudle目录所有文件const baseDir=__dirname+'\\routes'fs.readdirSync(baseDir).forEach(file => {const router = require(`./routes/${file}`)app.use(router.routes()).use(router.allowedMethods())})
}
model/home.js
class HomeCtl {index(ctx) {ctx.body = '我是home'}
}
module.exports = new HomeCtl()
routes/home.js
const Router = require('koa-router')
const router = new Router()
const { index } = require('../model/home')
router.get('/', index)
module.exports = router
main入口 koa-server.js
// koa
const Koa = require('koa')
const app = new Koa();
// 引入 路由
const routing = require('./router')
// 使用
routing(app)app.listen(3000);
访问home成功!
⭐结束
本文介绍koa路由到此结束,如有错误或者不足欢迎指出!
💖 感谢你的阅读 💖