控制台

  1. cnpm init -y
  2. //初始package.json
  3. cnpm i koa koa-router -S
  4. //配置环境koa和koa-router
  5. nodemon xxx.js
  6. //启动服务

拆分路由

1-先配置好依赖

image.png

2-主文件

image.png

  1. //导入模块
  2. const koa = require("koa")
  3. //新建应用
  4. const app = new koa()
  5. /* 导入一个文件夹,不加js文件名,默认会读index.js */
  6. const router = require("./routes")
  7. app.use(router. routes())
  8. app.listen(8000)

3-接口文档

image.png

4-routes 文档 (和主文档拆分开 拆分路由)

image.png

  1. const router = require("koa-router")()
  2. const banner = require("../data/banner")
  3. const top250 = require("../data/top250")
  4. router.get("/api/banner", async ctx => {
  5. ctx.body = banner
  6. })
  7. router.get("/api/movie/top250", async ctx => {
  8. ctx.body = top250
  9. })
  10. router.get("/api/subject", async ctx => {
  11. console.log(ctx.request.query)
  12. //ctx.request.query可以获取后面的id值
  13. //http://localhost:8000/api/subject?id=60418ed19e3f3d1f6cf8f870
  14. //终端会返回 [Object: null prototype] { id: '1101' }
  15. var { id } = ctx.request.query
  16. var item = top250.find(item => {
  17. return item._id == id
  18. })
  19. console.log(item);
  20. ctx.body=item
  21. })
  22. module.exports = router

拆分路由

//app.js  项目的入口文件
const koa = require("koa");
const app = new koa();
/* 导入一个文件夹,不加js文件名,默认会读index.js */
const router = require("./routers")
app.use(router.routes());
app.listen(4000);
//routers/index.js
const router  = require("koa-router")();
router.get("/",async ctx=>{
    ctx.body = "hello world"
})
router.get("/my",async ctx=>{
    ctx.body ="my"
})
router.get("/friend",async ctx=>{
    ctx.body ="f"
})
module.exports = router;

image.png

接口文档

/api/banner
/api/top250
/api/subject?id=60418ed19e3f3d1f6cf8f871  //电影详情相关的数据

没拆分路由

配置路由

JS

//导入模块
const koa=require("koa");
const router=require("koa-router")();、
//新建应用
const app=new koa();
//设置路由   (只要加了async 函数会返回promise值)
router.get("/my",async ctx=>{
    ctx.body={
        code:200,
        msy:"my"
    }
})

router.get("/frind",async ctx=>{
    ctx.body={
        code:200,
        msy:"frind"
    }
})
//配置路由
app.use(router.routes());
app.listen(8000)