博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从零开始做Vue前端架构(4)
阅读量:5758 次
发布时间:2019-06-18

本文共 1829 字,大约阅读时间需要 6 分钟。

前言

上一篇我们遇到'少年,是不是忘了npm run mock?'的警告,这一篇我们就来解决这个问题。

开发

一、安装包

安装koa和一系列的包(我们用的是koa v2):

koakoa-bodyparserkoa-routerboomnodemonmockjs

解释说明一下(知道的同学可以忽略):

名称 作用
koa 我们都知道Node.js有HTTP模块,来处理HTTP请求,koa基于Node做了很多方便的接口让我们更顺畅地处理HTTP,比如,接收、解析、响应。
koa-router 方便的路由方式获取get/post、以及参数
koa-bodyparser koa插件之一,方便解析get/post的参数
boom 友好的HTTP错误对象
nodemon 为了在启动koa服务以后,修改了koa相关的node代码会自动重载更新,无需手动关闭再重启
mockjs 模拟数据用

二、创建目录和文件

结构:

mock├── home // 和views文件夹对应│   └── hello.js // home页面需要的hello模拟数据├── public // 公共的接口模拟数据└── server.js // node代码

先上一盘server.js代码:

const Koa = require('koa')// 使用routerconst Router = require('koa-router')const Boom = require('boom')const bodyParser = require('koa-bodyparser')const app = new Koa()const router = new Router()// https://github.com/alexmingoia/koa-routerapp.use(router.routes())app.use(router.allowedMethods({  throw: true,  notImplemented: () => new Boom.notImplemented(),  methodNotAllowed: () => new Boom.methodNotAllowed()}))// 使用bodyparser 解析get,post的参数app.use(bodyParser())// 模拟数据返回/* 首页 */// 获取hello数据const helloData = require('./home/hello.js')router.get('/api/home/hello', async(ctx, next) => {  ctx.body = helloData  await next()})// log errorapp.on('error', (err, ctx) => {  console.log('server error', err, ctx)})// 注意:这里的端口要和webpack里devServer的端口对应app.listen(7777)

再来一盘hello.js代码:

// 引入mockjs来模拟数据// https://github.com/nuysoft/Mock/wiki/Getting-Startedconst Mock = require('mockjs')const data = Mock.mock({  'list|1-10': [{    'id|+1': 1  }]})const img = Mock.Random.image('200x100')module.exports = {  msg: 'mock hello api works',  data: data,  imgUrl: img}

在package.json里scripts里加上:

"mock": "nodemon ./mock/server.js"

这样的话,我们只需要npm run mock就启动了本地的模拟数据接口功能了。

回到之前我们下的完整项目,先启动mock,然后npm run dev,我们就可以发现报错不见啦。

总结

通过koa v2实现前后端分离,并且使用mockjs来更方便的模拟数据。

下一篇,我们创建发布环境下的webpack配置文件,并且看看怎么优化产出的代码的 -

项目完整代码

转载地址:http://hhvkx.baihongyu.com/

你可能感兴趣的文章
POJ 2184
查看>>
大话 程序猿 眼里的 接口
查看>>
struts2用了哪几种模式
查看>>
replace函数结合正则表达式实现转化成驼峰与转化成连接字符串的方法
查看>>
ubuntu 初学常用命令
查看>>
WCF客户端与服务端通信简单入门教程
查看>>
android 资源种类及使用
查看>>
Explorer程序出错
查看>>
Centos7同时运行多个Tomcat
查看>>
使用CocoaPods过程中的几个问题
查看>>
我的友情链接
查看>>
为eclipse安装maven插件
查看>>
公司新年第一次全员大会小记
查看>>
最懒的程序员
查看>>
JAVA8 Stream 浅析
查看>>
inner join on, left join on, right join on要详细点的介绍
查看>>
SAS vs SSD对比测试MySQL tpch性能
查看>>
Spring boot 整合CXF webservice 全部被拦截的问题
查看>>
Pinpoint跨节点统计失败
查看>>
【Canal源码分析】Canal Server的启动和停止过程
查看>>