mock2easy-middleware
这是一个非常容易使用的前端mock
服务器中间件,它可以很方便地接入到你的开发中。
安装
npm install mock2easy-middleware
当然,你可以使用淘宝镜像提供的cnpm
加速下载过程
背景简介
前端开发过程中,避免不了需要从后端接口获取数据,例如后端同学给出了/profile.json
的API时,我们前端代码里可能会写到:
$
但是是无法在浏览器里获取到数据的,而是直接报错。
我们的目标很简单,有一个能编写mock
接口的服务,假设跑在8005
端口下,前端静态资源被伺服在3005
端口下,我们希望能够在增加了一个mock
接口如/profile.json
后,能够在localhost:3005/profile.json
获取到数据。整体流程如图所示:
mock2easy-middleware
基于mock2easy,它是一个express
的中间件,能够在提供静态文件服务器服务的express
基础上,增加了mock
的功能。
开始使用
express
作为静态资源服务器,想要增加mock
服务
情景1:var mock2easyMiddleware = ;var express = ;var server = ;server; // 静态资源所在目录server;server;server;
middleware方式启动webpack-dev-server
情景2:使用大家使用webpack-dev-server
时,在命令行执行一句话webpack-dev-server
即可跑起服务,但是我们是不能往其中植入mock
服务的,所以我们使用了express
搭配webpack-dev-server-middleware
服务来手动实现一个dev-server
,并且植入mock
服务
var express = ;var webpack = ;var config = ; // 导入webpack.config.js文件var mock2easyMiddleware = ;var devServerPort = configdevServerport;var mockPort = 8005; // mock服务启动的端口 configentry;var app = ;var compiler = ;app;app;app;app;
使用方式不变,原先是直接在命令行执行webpack-dev-server
,现在更改为执行node dev.js
webpack-dev-server
,直接融入现有webpack.config.js
情景3:不手动启动这种情况下,便不需要使用本中间件了,直接使用mock2easy
即可,步骤如下:
1.在webpack.config.js
中加入mockeasy
的配置&运行代码
var mock2easy = ; var defaultConfig = port: 8005 lazyLoadTime: 3000 database: 'mock2easy' doc: 'doc' ignoreField: interfaceSuffix: '.json' preferredLanguage: 'en'; ;
2.在配置文件里的devServer
字段增加如下内容
devServer: proxy: '/*.json': target:'http://localhost:8005' // 8005 为mock服务所绑定的端口号 secure:false
Demo
1.克隆本仓库
2.npm install
3.分别执行以下命令,体验不同mock
融入方式
npm run dev # 前端资源使用express作为静态服务器 npm run dev1 # 手动实现webpack-dev-server npm run dev2 # 不使用中间件,直接融入webpack.config.js
后续
- 目前在对于接口命名的支持上,暂时只支持**以
.xxx
**作为后缀的接口,这样主要是为了方便区分静态资源接口