{"id":20881293,"url":"https://github.com/peakchen90/mock-dev-server","last_synced_at":"2025-08-22T01:06:17.198Z","repository":{"id":57300009,"uuid":"87513571","full_name":"peakchen90/mock-dev-server","owner":"peakchen90","description":"Mockjs简易服务器","archived":false,"fork":false,"pushed_at":"2018-09-08T16:49:04.000Z","size":32,"stargazers_count":3,"open_issues_count":1,"forks_count":3,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-04-19T16:35:06.960Z","etag":null,"topics":["mock","mock-server","server"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/mock-dev-server","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/peakchen90.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-04-07T06:39:27.000Z","updated_at":"2021-07-08T09:02:59.000Z","dependencies_parsed_at":"2022-09-02T06:30:48.789Z","dependency_job_id":null,"html_url":"https://github.com/peakchen90/mock-dev-server","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peakchen90%2Fmock-dev-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peakchen90%2Fmock-dev-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peakchen90%2Fmock-dev-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peakchen90%2Fmock-dev-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/peakchen90","download_url":"https://codeload.github.com/peakchen90/mock-dev-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253777055,"owners_count":21962622,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mock","mock-server","server"],"created_at":"2024-11-18T07:24:22.090Z","updated_at":"2025-05-12T16:32:37.859Z","avatar_url":"https://github.com/peakchen90.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![npm](https://img.shields.io/npm/v/mock-dev-server.svg)](https://www.npmjs.com/package/mock-dev-server)\n[![npm](https://img.shields.io/npm/dt/mock-dev-server.svg)](https://www.npmjs.com/package/mock-dev-server)\n[![GitHub](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/peakchen90/mock-dev-server/blob/master/LICENSE)\n\n# mock-dev-server\n一个简易的Mock服务器\n\n## 安装\n\n```bash\n# 全局安装，方便使用 mock-dev-server 命令\nnpm install -g mock-dev-server\n\n# 局部安装\nnpm install --save-dev mock-dev-server\n```\n\n## 如何使用\n  1. 在项目根目录建一个 `mock` 文件夹\n  2. 在 `mock` 文件夹里新建 `*.json` 文件，在 json 文件里面编辑 mock 数据（[示例](#mock.json)）\n  3. 路由说明：请求的url是根据 `mock` 文件夹下的层次结构来生成的（就是 json 文件相对于 `mock` 文件夹的路径，并去掉 `.json` 扩展名），如下示项目结构示例将会生成以下路由：\n  ```\n    /a\n    /sub/b\n    /sub/c\n\n    // 如果设置的基本路径， 将会在路由最前面加上基本路径，如 `mock-dev-server -b /api`，将会生成以下路由：\n\n    /api/a\n    /api/sub/b\n    /api/sub/c\n  ```\n\n  4. 配置 Mock 数据的 json 文件说明：API与 [Mockjs官网api](http://mockjs.com)一致，使用 `Mock.mock()` 方法返回随机数据\n  5. 运行命令 `mock-dev-server` ，即可在 http://localhost:3000/* 请求到api，支持所有的请求类型，如果要动态改变 `mock` 数据，则需要在命令行添加 `-w` 参数\n\n\u003e 通过node脚本启动示例\n```js\nconst mockServer = require('mock-dev-server')\nmockServer({\n  mock = 'mock',\n  watch = false,\n  port = 3000,\n  base = '/'\n}, {\n  status: 200,\n  text: 'success'\n})\n\n// mockServer({\n//   port = 3000\n// }, function() {\n//   return {\n//     status: 200\n//   }\n// })\n```\n\n**（v1.0.0新增）**`mockServer`方法的第一个参数是一个对象，与命令行参数类似，第二个参数（可选）表示通用数据，可以是一个对象或一个函数（返回一个对象），所有的请求都会返回这些通用数据\n\n## 示例\n  1. 目录结构\n\n  ```\n  ├── ...\n  ├── mock\n  │   ├── a.json\n  │   └── sub\n  │       ├── b.json\n  │       └── c.json\n  ├── node_modules\n  ├── index.js\n  └── package.json\n  ```\n  2. \u003ca name=\"mock.json\"\u003e`a.json` 示例\u003c/a\u003e\n\n  ```json\n  {\n    \"id|+1\": 1,\n    \"name\": \"@cname\",\n    \"description\": \"@cparagraph\",\n    \"age|20-50\": 20,\n    \"email\": \"@email\",\n    \"birthday\": \"@datetime('yyyy-MM-dd')\"\n  }\n  ```\n\n  用 [postman](https://www.getpostman.com/) 请求 `http://localhost:3000/a` ，得到如下响应数据：\n\n  ```json\n  {\n    \"id\": 1,\n    \"name\": \"熊强\",\n    \"description\": \"值月利反十历金细问此活场件收。即何林口属院例直起同政候文管研至龙。治整支料去林用铁严面即总要小。\",\n    \"age\": 32,\n    \"email\": \"x.bbfnlx@jivoslqz.pro\",\n    \"birthday\": \"2003-07-05\"\n  }\n  ```\n\n  3. 运行命令\n  ```bash\n  # 启动 mock server\n  mock-dev-server\n\n  # 监听 /mock/**/*.json 文件\n  mock-dev-server -w\n\n  # 配置 mock 数据目录（下面的示例将会在读取根目录下的 data 文件夹）\n  mock-dev-server -m data\n\n  # 配置端口号（默认：3000）\n  mock-dev-server -p 3000\n\n  # 配置请求的基本路径，必须以 / 开始，如 /api\n  # 如下配置请求url就变成了 http://localhost:3000/api/a\n  mock-dev-server -b /api\n  ```\n\n## 命令行参数\n```\nUsage: mock-dev-server [options]\n\nOptions:\n  -m, --mock   设置mock数据目录                       [string] [default: \"mock\"]\n  -w, --watch  是否监听mock目录文件                                    [boolean]\n  -p, --port   Mock Server 端口号                       [number] [default: 3000]\n  -b, --base   路由根目录(必须以 / 开始)                 [string] [default: \"/\"]\n  -h, --help   Show help                                               [boolean]\n\nExamples:\n  mock-dev-server -m mock --port 3000 -w -b /api\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeakchen90%2Fmock-dev-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpeakchen90%2Fmock-dev-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeakchen90%2Fmock-dev-server/lists"}