mock2easy可解决前后端分离之后的接口模拟问题,并可以自动生成接口文档,减少前后端沟通困难
var path = require('path');
var fs = require('fs');
var open = require( 'open' );
// 创建多层目录
function mkdirsSync(dirname) {
if (fs.existsSync(dirname)) {
return true;
} else {
if (mkdirsSync(path.dirname(dirname))) {
fs.mkdirSync(dirname);
return true;
}
}
}
// 启动mock服务
function startMockServer() {
var mockConfig = { // 在工程中可通过外部配置引入
"port": 3000,
"path": 'src\\mock_data\\', // mock2easy生成文件存放位置
"openInBrowser": true // 是否直接在浏览器中打开
}
mkdirsSync(mockConfig.path);
// mock2easy 配置及启动
var defaultConfig = {
port: mockConfig.port ? mockConfig.port : 3000, // mock服务所用的端口号
lazyLoadTime: 1500, // 接口返回延时时间
database: mockConfig.path + 'API', // 生成的API保存位置,主要为json文件
doc: mockConfig.path + 'doc', // 生成的API文档存放位置,主要为Markdown文件
ignoreField: [],
interfaceSuffix: '.json',
preferredLanguage: 'cn' // 页面以中文显示
}
mock2easy(defaultConfig, function (app) {
try {
app.listen(defaultConfig.port, function () {
console.log(('mock2easy已启动,请访问: http://127.0.0.1:' + defaultConfig.port).bold.cyan)
});
// 在浏览器中打开 mock2easy
if(mockConfig.openInBrowser){
open('http://127.0.0.1:' + defaultConfig.port);
}
} catch (e){
console.log(e)
}
});
};
使用时在node环境中直接调用 startMockServer 方法,mock服务会自动启动。
直接请求mock服务时会存在跨域问题,可参考 《Http服务器–使用Http服务做转发》 解决跨域问题。
mock服务创建可参考《mock2easy — npm包》