mock-service-cli-ultra 4.9.3 → 4.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +51 -38
- package/dist/api-client/client.css +1016 -0
- package/dist/api-client/client.js +2099 -0
- package/dist/api-client/editor.js +15 -0
- package/dist/api-client/index.html +136 -0
- package/dist/api-client/login.html +20 -0
- package/dist/api-client/login.js +19 -0
- package/dist/api-client/worker.js +84 -0
- package/dist/apiClientServer.js +1 -0
- package/dist/assertionWorker.js +254 -0
- package/dist/meta.json +7761 -5155
- package/dist/runtime.js +201 -43
- package/docs/api-client.md +128 -0
- package/docs/static-server.config.example.json +1 -1
- package/package.json +4 -2
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
# 🦅 mock-service-cli
|
|
7
7
|
|
|
8
|
-
一个基于 Node.js 和 Express 的轻量级
|
|
8
|
+
一个基于 Node.js 和 Express 的轻量级 终端服务 套件命令行工具,提供本地开发调试所需的各种服务器功能。
|
|
9
9
|
|
|
10
10
|
## ✨ 核心功能
|
|
11
11
|
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
- **HTTP Proxy** - 本地接口代理服务
|
|
16
16
|
- **API Overview** - 现代化的 API 概览页面
|
|
17
17
|
- **File Explorer** - 现代化的文件浏览器
|
|
18
|
+
- **API Client** - 现代化的 API 客户端
|
|
18
19
|
|
|
19
20
|
## 🚀 特性
|
|
20
21
|
|
|
@@ -25,7 +26,7 @@
|
|
|
25
26
|
- 🔄 支持热更新(Mock 文件改动后自动重启)
|
|
26
27
|
- 📁 支持文件浏览器,可预览各种文件类型
|
|
27
28
|
- 💾 支持保存接口响应数据
|
|
28
|
-
- 🔗
|
|
29
|
+
- 🔗 支持终端打开 HTTP 请求客户端
|
|
29
30
|
|
|
30
31
|
## 📦 安装
|
|
31
32
|
|
|
@@ -71,37 +72,38 @@ npx mock-service-cli [options] [path]
|
|
|
71
72
|
|
|
72
73
|
## 🛠️ 命令行选项
|
|
73
74
|
|
|
74
|
-
| 选项 | 描述 | 默认值
|
|
75
|
-
| -------------------------- | ----------------------------------------------------------------- |
|
|
76
|
-
| `-h` 或 `--help` | 显示帮助信息 | -
|
|
77
|
-
| `-p` 或 `--port` | Mock 服务器端口 | 8090
|
|
78
|
-
| `-d` | 指定 mock 目录 | ./mock
|
|
79
|
-
| `-f` | 指定单个 mock 文件 | -
|
|
80
|
-
| `-s` 或 `--silent` | 抑制日志输出 | -
|
|
81
|
-
| `-v` 或 `--version` | 显示版本信息 | -
|
|
82
|
-
| `-S` 或 `--socket-server` | 启动 socket 服务器,用于保存 API 响应数据 | false
|
|
83
|
-
| `-a` 或 `--api-stat` | 打印 API URL 和文件路径信息 | false
|
|
84
|
-
| `-t` 或 `--track` | 记录操作信息到文件 | false
|
|
85
|
-
| `-o` 或 `--cors-origin` | 配置 CORS 允许的源,多个源用逗号分隔 | \*
|
|
86
|
-
| `-O` 或 `--proxy-options` | 配置 HTTP 请求代理选项,支持 js 文件、json 文件或命令行参数 | -
|
|
87
|
-
| `-r` 或 `--rewrite` | rewrite http or https request url prefix of proxy, default false. | false
|
|
88
|
-
| `-H` 或 `--cors-headers` | 配置 CORS 头信息 | \*
|
|
89
|
-
| `-A` 或 `--append-headers` | 添加响应头信息,多个头用逗号分隔 | -
|
|
90
|
-
| `-D` 或 `--web-dir` | 启用 Web 服务器,指定 web 目录(SPA 应用) | -
|
|
91
|
-
| `-P` 或 `--web-port` | Web 服务器端口 | 9090
|
|
92
|
-
| `-b` 或 `--web-baseurl` | 指定 SPA Web 服务器的公共路径 | -
|
|
93
|
-
| `-R` 或 `--static-server` | 启用单目录静态服务器,指定静态资源目录 | -
|
|
94
|
-
| `--spa-fallback <path>` | 单目录模式显式启用 SPA 回退 | -
|
|
95
|
-
| `--static-config <file>` | 使用自包含 JSON 配置启动静态服务器 | -
|
|
96
|
-
| `-w` 或 `--open` | 自动打开可用的 Web 页面或 API 概览页 | false
|
|
97
|
-
| `--watch-depth <n>` |
|
|
98
|
-
| `--watch-interval <n>` |
|
|
99
|
-
| `--
|
|
100
|
-
| `--
|
|
101
|
-
| `-e` 或 `--explorer` | 启用文件浏览器服务器,指定要浏览的目录 | ./
|
|
102
|
-
| `--edit` | 启用文件浏览器的新建、重命名、删除和上传操作 | false
|
|
103
|
-
| `--
|
|
104
|
-
| `--
|
|
75
|
+
| 选项 | 描述 | 默认值 |
|
|
76
|
+
| -------------------------- | ----------------------------------------------------------------- | ---------------------- |
|
|
77
|
+
| `-h` 或 `--help` | 显示帮助信息 | - |
|
|
78
|
+
| `-p` 或 `--port` | Mock 服务器端口 | 8090 |
|
|
79
|
+
| `-d` | 指定 mock 目录 | ./mock |
|
|
80
|
+
| `-f` | 指定单个 mock 文件 | - |
|
|
81
|
+
| `-s` 或 `--silent` | 抑制日志输出 | - |
|
|
82
|
+
| `-v` 或 `--version` | 显示版本信息 | - |
|
|
83
|
+
| `-S` 或 `--socket-server` | 启动 socket 服务器,用于保存 API 响应数据 | false |
|
|
84
|
+
| `-a` 或 `--api-stat` | 打印 API URL 和文件路径信息 | false |
|
|
85
|
+
| `-t` 或 `--track` | 记录操作信息到文件 | false |
|
|
86
|
+
| `-o` 或 `--cors-origin` | 配置 CORS 允许的源,多个源用逗号分隔 | \* |
|
|
87
|
+
| `-O` 或 `--proxy-options` | 配置 HTTP 请求代理选项,支持 js 文件、json 文件或命令行参数 | - |
|
|
88
|
+
| `-r` 或 `--rewrite` | rewrite http or https request url prefix of proxy, default false. | false |
|
|
89
|
+
| `-H` 或 `--cors-headers` | 配置 CORS 头信息 | \* |
|
|
90
|
+
| `-A` 或 `--append-headers` | 添加响应头信息,多个头用逗号分隔 | - |
|
|
91
|
+
| `-D` 或 `--web-dir` | 启用 Web 服务器,指定 web 目录(SPA 应用) | - |
|
|
92
|
+
| `-P` 或 `--web-port` | Web 服务器端口 | 9090 |
|
|
93
|
+
| `-b` 或 `--web-baseurl` | 指定 SPA Web 服务器的公共路径 | - |
|
|
94
|
+
| `-R` 或 `--static-server` | 启用单目录静态服务器,指定静态资源目录 | - |
|
|
95
|
+
| `--spa-fallback <path>` | 单目录模式显式启用 SPA 回退 | - |
|
|
96
|
+
| `--static-config <file>` | 使用自包含 JSON 配置启动静态服务器 | - |
|
|
97
|
+
| `-w` 或 `--open` | 自动打开可用的 Web 页面或 API 概览页 | false |
|
|
98
|
+
| `--watch-depth <n>` | 限制静态服务器文件监听递归深度(非负整数,需配合 `--watch`) | 无限 |
|
|
99
|
+
| `--watch-interval <n>` | 轮询间隔(毫秒;仅 Windows Node 24+,需配合 `--watch`) | 250 |
|
|
100
|
+
| `--watch` | 开启静态服务器的文件监听与 live-reload(默认关闭) | false |
|
|
101
|
+
| `--windows-hidden` | 读取 Windows 系统隐藏属性(attrib/PowerShell)判定隐藏项 | false |
|
|
102
|
+
| `-e` 或 `--explorer` | 启用文件浏览器服务器,指定要浏览的目录 | ./ |
|
|
103
|
+
| `--edit` | 启用文件浏览器的新建、重命名、删除和上传操作 | false |
|
|
104
|
+
| `--api-client [dir]` | 启用独立 HTTP 接口工作台,指定项目工作区目录 | ./.mock-service-client |
|
|
105
|
+
| `--auth <password>` | 为文件浏览器或 API Client 启用密码认证 | - |
|
|
106
|
+
| `--host [allowlist-file]` | 暴露全部 IPv4 网卡;传入文件时仅允许白名单 IP 访问 | false |
|
|
105
107
|
|
|
106
108
|
## 📖 使用示例
|
|
107
109
|
|
|
@@ -135,10 +137,10 @@ mock-service-cli -R --static-config ./static-server.json
|
|
|
135
137
|
mock-service-cli --static-config ./static-server.json
|
|
136
138
|
```
|
|
137
139
|
|
|
138
|
-
|
|
140
|
+
静态服务器默认**不监听**资源变化;传入 `--watch` 才监听并注入热更新客户端:CSS 文件更新时替换样式表,其余变更刷新页面。
|
|
139
141
|
默认不打开浏览器;使用 `-w/--open` 可自动打开静态服务器页面。也可在配置中设置 `"open": true` 或提供页面路径。完整配置字段和示例见
|
|
140
142
|
[`docs/static-server.config.example.json`](./docs/static-server.config.example.json):支持忽略规则、SPA 回退、挂载目录、代理、HTTPS、CORS、响应头和自定义浏览器命令。
|
|
141
|
-
`watch.enabled` 默认 `
|
|
143
|
+
`watch.enabled` 默认 `false`,设为 `true` 或传入 `--watch` 可启用;`watch.depth` 限制 chokidar 递归层数(默认无限,大目录建议设有限值),`watch.interval` 为 Windows Node 24+ 轮询周期(默认 250ms)。命令行 `--watch`、`--watch-depth <n>`、`--watch-interval <n>` 优先于配置文件。
|
|
142
144
|
配置文件只在顶层保留服务器级字段。所有应用都放在 `mounts` 中,并可独立设置 `directory`、`spaFallback`、`proxy`、`cors`、`headers`、`requestHeaders` 和 `secure`。mount 未设置 `path` 时默认挂载到 `/`;`directory` 可省略,但该应用必须配置至少一条代理。代理键使用完整公开路径,例如 `/api/app`。
|
|
143
145
|
`headers` 是发送给客户端的响应头。`requestHeaders` 是发送给该应用全部代理上游的请求头;也可放在单个 `proxy` 规则中,覆盖或追加 mount 级请求头。代理规则使用 `{ "target": "http://...", "rewrite": true }`;`rewrite` 为 true 时只移除匹配的完整代理前缀并保留剩余路径和 query string。应用级 `secure` 控制其代理 HTTPS 目标的证书校验,默认 `false`。配置模式不接受 `--proxy-options`、`--rewrite` 或 `--spa-fallback`。
|
|
144
146
|
未设置 `spaFallback` 时,应用目录会显示可点击的目录索引;可直接访问其中的 HTML 文件。mount 未命中的路由不会继续进入其他应用的 SPA fallback。
|
|
@@ -192,9 +194,7 @@ mock-service-cli -e ./ --host
|
|
|
192
194
|
mock-service-cli -e ./ --host ./allowed-ips.txt
|
|
193
195
|
```
|
|
194
196
|
|
|
195
|
-
|
|
196
|
-
传入 `--no-os-hidden` 可跳过系统隐藏属性判定、仅按点号命名判定(利于规避个别属性误判与探测开销),
|
|
197
|
-
对静态服务器目录索引与文件浏览器同时生效。
|
|
197
|
+
静态服务器目录索引与文件浏览器默认只按点号命名判定隐藏项;传入 `--windows-hidden` 才会额外读取 Windows 系统隐藏属性。
|
|
198
198
|
|
|
199
199
|
默认情况下,Mock、SPA、Static 和 File Explorer 服务只监听 `127.0.0.1`。
|
|
200
200
|
`--host` 会使这些服务监听所有 IPv4 网卡,请仅在可信网络中使用。传入白名单文件时,服务仍监听全部 IPv4 网卡,
|
|
@@ -253,6 +253,19 @@ module.exports = {
|
|
|
253
253
|
};
|
|
254
254
|
```
|
|
255
255
|
|
|
256
|
+
## API Client 接口工作台
|
|
257
|
+
|
|
258
|
+
```bash
|
|
259
|
+
mock-service-cli --api-client --open
|
|
260
|
+
mock-service-cli --api-client ./api-tests --port 8090
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
独立的本地 HTTP 调试页面,支持集合/文件夹、环境和 Secret 变量、Basic/Bearer/API Key、Cookie、文件上传、响应查看、声明式断言和集合执行。可导入 cURL、Postman v2.1、OpenAPI 3.0/3.1,导出原生 JSON 与 cURL。集合与环境保存为项目 JSON 文件,界面提供深浅主题、多标签页和快捷键。
|
|
264
|
+
|
|
265
|
+
默认工作区为 `./.mock-service-client`,首次保存才创建。默认仅本机访问;`--host` 控制局域网访问和 IP 白名单,`--auth` 启用密码认证,两者可单独使用或组合使用。此模式与 Mock、静态服务和文件浏览器等模式互斥,需要同时运行时请分别启动并使用不同端口。
|
|
266
|
+
|
|
267
|
+
完整用法、凭据保存、导入兼容性及资源限制见 [API Client 文档](docs/api-client.md)。
|
|
268
|
+
|
|
256
269
|
## 🎨 API 概览页面
|
|
257
270
|
|
|
258
271
|
现代化的 Web 界面,用于展示和测试所有已注册的 Mock API 接口。
|