SimpleMockServer
让 Mock 更简单,打造文件式 Mock
技术栈:Bun,Elysia,mockjs,Mustache
Why
是否还在为前端部署头疼,是否还在为部署静态服务烦恼,是否还在嫌弃 Mock 数据流程麻烦,大多数情况,我都不喜欢必须把静态数据进行强制集成到项目中,至少对于很多老项目也没法做这个事儿,不如试试目录式模拟,拖入到对应的文件,然后启动应用,就可以完成这个操蛋的事情。
使用说明
将需要 Mock 的文件夹放置在 apis 目录下,然后启动服务,其中 api 规则为,目录决定前缀,[api_suffix].[api_method]
.json,其中,api_suffix 表示 api 路径,api_method,表示拦截的方法,支持 get|post|patch|head|delete|option|put
,这个只是为了保持结果一致,这里自动拦截了 index.json 为 /。
例如
└─apis
└─demo
│ index.get.json -> api为 demo/ get 方法
│ index.json 会被 index.get.json 覆盖
│ index.post.json
│ querybyentity.json -> api为 demo/querybyentity/ get 方法
│
└─index
test.json -> api为 demo/index/test get 方法
基本功能
- 返回静态JSON数据
- 根据接口信息返回
- 根据 Mock 模板生成,见 mockjs.com/examples.ht…
这里支持类似 Vue 的 {{}} 写法,并对,替换后的结果采用 Mockjs 来转换,也就是支持通过 json 生成随机数据。
文件内容为:
{
"result": "{{body.schema}}"
}
{
"list|1-10": [
{
"id|+1": 1
}
]
}
随机生成如下
配置文件 .simple-mock
ROOT_DIR=.
API_DIR=apis
STATIC_DIR=./static
STATIC_ROUTE_PREFIX=static
PORT=3000
SILENT=
ERROR_LOG_FILE_PATH=./error.log
LOG_SIZE=10M
DEBUG_LOG_FILE_PATH=./debug.log
WATCH=