Koa搭建本地測試服務器

1.在項目根目錄安裝koakoa-router

npm install --save-dev koa koa-router koa-body

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: 0,
      msg: 'ok',
    }
  }
})

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

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

3.在package.json中scripts中添加運行命令

"mock": "node ./server.js"

4.運行npm run mock即可開啓本地測試服務器

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章