Giter VIP home page Giter VIP logo

ismart-dev-server's Introduction

npm npm GitHub

mock-dev-server

一个简易的Mock服务器

安装

# 全局安装,方便使用 mock-dev-server 命令
npm install -g mock-dev-server

# 局部安装
npm install --save-dev mock-dev-server

如何使用

  1. 在项目根目录建一个 mock 文件夹
  2. mock 文件夹里新建 *.json 文件,在 json 文件里面编辑 mock 数据(示例
  3. 路由说明:请求的url是根据 mock 文件夹下的层次结构来生成的(就是 json 文件相对于 mock 文件夹的路径,并去掉 .json 扩展名),如下示项目结构示例将会生成以下路由:
  /a
  /sub/b
  /sub/c

  // 如果设置的基本路径, 将会在路由最前面加上基本路径,如 `mock-dev-server -b /api`,将会生成以下路由:

  /api/a
  /api/sub/b
  /api/sub/c
  1. 配置 Mock 数据的 json 文件说明:API与 Mockjs官网api一致,使用 Mock.mock() 方法返回随机数据
  2. 运行命令 mock-dev-server ,即可在 http://localhost:3000/* 请求到api,支持所有的请求类型,如果要动态改变 mock 数据,则需要在命令行添加 -w 参数

通过node脚本启动示例

const mockServer = require('mock-dev-server')
mockServer({
  mock = 'mock',
  watch = false,
  port = 3000,
  base = '/'
}, {
  status: 200,
  text: 'success'
})

// mockServer({
//   port = 3000
// }, function() {
//   return {
//     status: 200
//   }
// })

(v1.0.0新增)mockServer方法的第一个参数是一个对象,与命令行参数类似,第二个参数(可选)表示通用数据,可以是一个对象或一个函数(返回一个对象),所有的请求都会返回这些通用数据

示例

  1. 目录结构
├── ...
├── mock
│   ├── a.json
│   └── sub
│       ├── b.json
│       └── c.json
├── node_modules
├── index.js
└── package.json
  1. a.json 示例
{
  "id|+1": 1,
  "name": "@cname",
  "description": "@cparagraph",
  "age|20-50": 20,
  "email": "@email",
  "birthday": "@datetime('yyyy-MM-dd')"
}

postman 请求 http://localhost:3000/a ,得到如下响应数据:

{
  "id": 1,
  "name": "熊强",
  "description": "值月利反十历金细问此活场件收。即何林口属院例直起同政候文管研至龙。治整支料去林用铁严面即总要小。",
  "age": 32,
  "email": "[email protected]",
  "birthday": "2003-07-05"
}
  1. 运行命令
# 启动 mock server
mock-dev-server

# 监听 /mock/**/*.json 文件
mock-dev-server -w

# 配置 mock 数据目录(下面的示例将会在读取根目录下的 data 文件夹)
mock-dev-server -m data

# 配置端口号(默认:3000)
mock-dev-server -p 3000

# 配置请求的基本路径,必须以 / 开始,如 /api
# 如下配置请求url就变成了 http://localhost:3000/api/a
mock-dev-server -b /api

命令行参数

Usage: mock-dev-server [options]

Options:
  -m, --mock   设置mock数据目录                       [string] [default: "mock"]
  -w, --watch  是否监听mock目录文件                                    [boolean]
  -p, --port   Mock Server 端口号                       [number] [default: 3000]
  -b, --base   路由根目录(必须以 / 开始)                 [string] [default: "/"]
  -h, --help   Show help                                               [boolean]

Examples:
  mock-dev-server -m mock --port 3000 -w -b /api

ismart-dev-server's People

Contributors

peakchen90 avatar xsthunder avatar

Watchers

James Cloos avatar Ben.Zeng avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.