koa 创建 配置创建建建建建建建建

139 阅读1分钟

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 = "我是用户列表"
})