1、初始化文件
npm init -y
2、安装koa 和 koa-router
npm i koa koa-router -S //-S 等于 --save
3、安装启动命令
npm i nodemon -D // -D 等于--save --dev
package.json 配置 "start": "nodemon app.js"
{
"name": "jiekolianxi",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "nodemon app.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"koa": "^2.13.4",
"koa-body": "^4.2.0",
"koa-router": "^10.1.1",
"mongoose": "^6.1.1"
},
"devDependencies": {
"nodemon": "^2.0.15"
}
}
4、app.js 的搭建
// app.js
const Koa = require('koa');
const Router = require('koa-router');
const app = new Koa();
const router = new Router();
router.get('/', async ctx=>{
ctx.body="Hello Koa !!!"
});
app.use(router.routes()).use(router.allowedMethods());
app.listen(3000,()=>{
console.log('正在监听端口3000的服务');
};
5、配置子路由
// routers/users.js
const Router = require('koa-router');
const router = new Router({ prefix : "/users" });
router.post('/', ctx => {
ctx.body = "添加一个新的用户"
});
module.exports = router.routes();
6、app.js 中添加子路由
// app.js
const Koa = require('koa');
const Router = require('koa-router');
const Users = require('./routers/users.js')
const app = new Koa();
const router = new Router();
router.get('/', async ctx=>{
ctx.body="Hello Koa !!!"
});
router.use(Users);
app.use(router.routes()).use(router.allowedMethods());
app.listen(3000,()=>{
console.log('正在监听端口3000的服务');
};
7、传参方式
1、query传参
http://localhost:3000/users/userlist?id=44
router.get('/', ctx => {
console.log(ctx.query.id)
ctx.body = "我是用户列表"
});
2、params传参
http://localhost:3000/users/userlist/44
router.get('/', ctx => {
console.log(ctx.params.id)
ctx.body = "我是用户列表"
});
3、body传参
需要先安装koa-body
npm install koa-body -S
router.post('/userlist',async ctx => {
console.log(ctx.request.body)
ctx.body = "我是用户列表"
});