koa的使用记录

安装

"koa": "^2.13.4",
"koa-bodyparser": "^4.3.0",
"koa-router": "^10.1.1"
package.json
{
  "name": "koa",
  "version": "1.0.0",
  "description": "",
  "main": "app.js",
  "scripts": {
    "start": "node app.js",
    "nodemon": "nodemon app.js"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "koa": "^2.13.4",
    "koa-bodyparser": "^4.3.0",
    "koa-router": "^10.1.1"
  }
}

app.js
const koa = require('koa');
const bodyParser = require('koa-bodyparser');
const router = require('./modules/index');
const app = new koa();
const port = process.env.PORT || 7777;
app.use(bodyParser())
app.use(router.routes())
app.listen(port, () => {
    console.log('server listen ===' + port);
})
#modules/index.js
const Router = require('koa-router');
<!-- 配置访问前缀 prefix -->
// const router = new Router({
// 	prefix: '/api'
// });

<!-- 直接使用 -->
const router = new Router();

<!-- 通过文件分模块配置 -->
const dispose = require('./api/user');
router.get('/g', dispose.u) // 单接口
router.post('/p', dispose.u) // 单接口
Object.keys(dispose).map(m => { //多接口,以定义的key为访问路径
	router.post('/'+m, dispose[m])
})

<!-- 直接使用 -->
router.get('/charts', async (ctx) => {
    ctx.body = "uuuuuuuu"
})

module.exports = router
api/user
module.exports = {
    "u": async (ctx) => {
        ctx.body = "uuuuuuuu"
    },
    "g": async (ctx) => {
        ctx.body = "pppppp"
    },
    "p": async (ctx) => {
        ctx.body = "hhhhhh"
    }
}

运行

npm start

调用

区分get与post,get可直接通过浏览器请求查看返回结果。

http://localhost:7777/charts  => uuuuuuuu
http://localhost:7777/u  => uuuuuuuu
http://localhost:7777/g  => pppppp
http://localhost:7777/p  => hhhhhh

扩展

** nodemon 一个监听node代码变化的工具,会自动完成node服务器和数据库服务器的重启
** npm install -g nodemon
** "nodemon app.js" 用nodemon替换node去启动项目的入口文件机会在项目改变成自动重启服务器
** https://www.npmjs.com/package/nodemon
** https://www.npmjs.com/package/koa-bodyparser
** https://www.npmjs.com/package/koa-router
** https://www.npmjs.com/package/koa
posted on 2022-01-28 14:41  羽丫头不乖  阅读(34)  评论(0编辑  收藏  举报