Koajs入门
介绍
Koa 是一个新的 web 框架,由 Express 幕后的原班人马打造, 致力于成为 web 应用和 API 开发领域中的一个更小、更富有表现力、更健壮的基石。 通过利用 async 函数,Koa 帮你丢弃回调函数,并有力地增强错误处理。 Koa 并没有捆绑任何中间件, 而是提供了一套优雅的方法,帮助您快速而愉快地编写服务端应用程序。
官网: https://koa.bootcss.com/#application
应用
安装
npm i koa
yarn add koa
基本使用
/src/index.js
const Koa = require('koa')
const app = new Koa()
const port = 3000
/**app.use(中间件应用)...**/
app.listen(port)
console.log(`服务已开启,端口:${port}`)
目录结构
root
├── package-lock.json
├── package.json
├── src
│ ├── api ## 数据处理业务逻辑
│ │ ├── moduleA.js
│ │ └── user.js
│ ├── index.js ## 主入口
│ ├── public ## 静态文件
│ │ └── bg.jpg
│ ├── routers ## 路由定义处理
│ │ ├── index.js
│ │ ├── moduleARouter.js
│ │ └── userRouter.js
│ └── utils ## 通用工具函数
│ └── result.js
常用中间件
@koa/router
路由:分发路由,根据不同路由来处理不同的数据信息
- 安装
npm i @koa/router
- 使用
/src/routers/moduleA.js
const Router = require('@koa/router')
const router = new Router()
// 添加路由前缀
router.prefix('/api')
const moduleA = require('../api/moduleA')
router.get('/a1', moduleA.a1)
module.exports = router;
koa-combine-routers
路由合并:将所有路由整合在一起,使 koa 只需要应用一次路由中间件
- 安装
npm install koa-combine-routers
- 使用
const combineRouters = require('koa-combine-routers')
const moduleARouter = require('./moduleARouter')
const userRouter = require('./userRouter')
// 整合所有的路由
const routers = combineRouters(moduleARouter, userRouter)
module.exports = routers
koa-body
body参数解析中间件
-
安装
npm install koa-body
-
使用
const Koa = require('koa'); const koaBody = require('koa-body'); const app = new Koa(); app.use(koaBody()); app.use(ctx => { ctx.body = `Request Body: ${JSON.stringify(ctx.request.body)}`; }); app.listen(3000);
@koa/cors
跨域处理中间件
-
安装
npm install @koa/cors --save
-
使用
const Koa = require('koa'); const cors = require('@koa/cors'); const app = new Koa(); app.use(cors());
koa-static
文件服务中间件
-
安装
npm install koa-static
-
使用
// 文件服务 const path = require('path') const staticServe = require('koa-static') app.use(staticServe(path.join(__dirname, './public')))
koa-compose
中间件整合
-
安装
npm i koa-compose
-
使用
/src/index.js
const Koa = require('koa') // body 参数解析 const koaBody = require('koa-body') // 跨域处理 const cors = require('@koa/cors') // 文件服务 const path = require('path') const staticServe = require('koa-static') // 路由 const routers = require('./routers') // 整合中间件koa-compose const compose = require('koa-compose') const app = new Koa() const port = 3000 // 整合中间件 const middleware = compose([ cors(), koaBody(), routers(), staticServe(path.join(__dirname, './public')), ]) app.use(middleware) app.listen(port) console.log(`服务已开启,端口:${port}`)
标签:
javascript
, nodejs
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构