天天看點

Koa搭建本地測試伺服器

1.在項目根目錄安裝

koa

koa-router

2.建立

server.js

檔案

const Koa = require('koa')
const Router = require('koa-router')
const KoaBody = require('koa-body')
KoaBody({multipart: true})

const app = new Koa()
const router = new Router()

//首頁————廣告(超值特惠)
let homeAdData = require('./home/ad')
router.get('/api/homeAd', (ctx, next) => {
  ctx.body = homeAdData
})

//首頁————推薦清單(猜你喜歡)
let homeListData = require('./home/list.js')
router.get('/api/homeList/:city/:page', function (ctx) {
  const params = ctx.params
  const paramsCity = params.city
  const paramsPage = params.page
  console.log(`目前城市:${paramsCity} 目前頁數:${paramsPage}`)

  ctx.body = homeListData
})

// 搜尋結果頁————搜尋結果 - 三個參數
let searchListData = require('./search/list.js')
router.get('/api/search/:page/:city/:category/:keyword', function (ctx) {
  const params = ctx.params
  const paramsPage = params.page
  const paramsCity = params.city
  const paramsCategory = params.category
  const paramsKeyword = params.keyword

  console.log(
    `目前頁數:${paramsPage} 目前城市:${paramsCity} 目前類别:${paramsCategory} 關鍵字:${paramsKeyword}`)

  ctx.body = searchListData
})

// 搜尋結果頁————搜尋結果 - 兩個參數
router.get('/api/search/:page/:city/:category', function (ctx) {
  const params = ctx.params
  const paramsPage = params.page
  const paramsCity = params.city
  const paramsCategory = params.category

  console.log(`目前頁數:${paramsPage} 目前城市:${paramsCity} 目前類别:${paramsCategory}`)

  ctx.body = searchListData
})

// 詳情頁————商戶資訊
let detailInfo = require('./detail/info.js')
router.get('/api/detail/info/:id', function (ctx) {
  const params = ctx.params
  const id = params.id

  ctx.body = detailInfo
})

// 詳情頁————使用者評論
const detailComment = require('./detail/comment.js')
router.get('/api/detail/comment/:page/:id', function (ctx) {
  const params = ctx.params
  const page = params.page
  const id = params.id

  console.log(`商戶id:${id} 目前頁數:${page}`)

  ctx.body = detailComment
})

//訂單清單
const orderList = require('./orderlist/orderList.js')
router.get('/api/orderList/:username', function (ctx) {
  const params = ctx.params
  const username = params.username

  console.log(`使用者名:${username}`)

  ctx.body = orderList
})

//送出評論
router.post('/api/submitComment', function (ctx) {
  let data = ctx.request.body
  if (data.id && data.comment) {
    console.log(data.id, data.comment)
    ctx.body = {
      errno: ,
      msg: 'ok',
    }
  }
})

app.use(KoaBody()).use(router.routes()).use(router.allowedMethods())

app.listen(, () => {
  console.error(`伺服器啟動成功:localhost:${}`)
})

           

3.在package.json中scripts中添加運作指令

4.運作

npm run mock

即可開啟本地測試伺服器

koa