koa的使用记录
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');
// 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