主要是解决前端mock数据的问题,依据接口定义,帮助你快速的完成接口模拟工作。
实现的功能:
- 通过json、js、swagger文件模拟接口数据
- 通过正则匹配指定需要mock的文件
- 生成简单markdown接口文档
|-- bin // CLI命令目录
| |-- build //
| |-- option.js //
| |-- app.js //
|-- common // 公共方法目录
|-- server // koa2服务目录
| |-- router // 接口路由目录
| |-- js // 处理js
| |-- json // 处理json
| |-- swagger // 处理swagger
| |-- markdown // 生成md文件
| |-- defaultRouteData.js // 默认接口数据
| |-- route.js // 初始路由
| |-- index.js // router主要文件
| |-- index.js // 服务主文件
|-- test // 单元测试目录
|-- .travis.yml // Travis CI配置文件
|-- config.js // 配置文件
|-- package.json // 项目及工具的依赖配置文件
- 新建一个配置文件
package.json
# 初始化 package.json
$ npm init
- 在
package.json
中添加下面这项
{
...,
"bin": {
"cp-cli": "bin/app.js"
}
}
- 然后在根目录下新建一个bin文件夹,再在bin下新建
app.js
在app.js
中添加#!/usr/bin/env node
,然后可以写脚手架的内容。
#!/usr/bin/env node
console.log('****** my first CLI ******');
- 本地调试,在根目录下使用
$ npm link
- 查看效果
在 cmd 中输入 cp-cli 会打印出消息
使用commander
$ npm install commander --save
代码:
#!/usr/bin/env node
console.log('****** my first CLI ******');
const commander = require('commander');
commander.version('1.0.0')
.option('-a, --aa', 'a description')
.option('-b, --bb [name]', 'b description');
commander
.command('init <project>')
.description('init project')
.action((projectName) => {
console.log(`init ${projectName}`);
});
commander.parse(process.argv);
if (commander.aa) {
console.log('aa******');
}
if (commander.bb) {
console.log('bb******', commander.bb);
}
我用koa2来模拟服务,如果不了解koa2,可以看下这个 koa2小示例
我们只要通过CLI命令根据参数执行代码读取模板文件,启动koa2服务,这样就可以访问接口了。