文章目录
- ⭐前言
- ⭐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路由到此结束,如有错误或者不足欢迎指出!
💖 感谢你的阅读 💖