UNPKG

3.85 kBMarkdownView Raw
1# mock-servicer - 用于提供模拟数据的node服务器。
2
3<p>
4 <a href="https://hai2007.gitee.io/npm-downloads?interval=7&packages=mock-servicer"><img src="https://img.shields.io/npm/dm/mock-servicer.svg" alt="downloads"></a>
5 <a href="https://packagephobia.now.sh/result?p=mock-servicer"><img src="https://packagephobia.now.sh/badge?p=mock-servicer" alt="install size"></a>
6 <a href="https://www.npmjs.com/package/mock-servicer"><img src="https://img.shields.io/npm/v/mock-servicer.svg" alt="Version"></a>
7 <a href="https://github.com/hai2007/mock-servicer/blob/master/LICENSE"><img src="https://img.shields.io/npm/l/mock-servicer.svg" alt="License"></a>
8 <a href="https://github.com/hai2007/mock-servicer">
9 <img alt="GitHub repo stars" src="https://img.shields.io/github/stars/hai2007/mock-servicer?style=social">
10 </a>
11</p>
12
13## Issues
14使用的时候遇到任何问题或有好的建议,请点击进入[issue](https://github.com/hai2007/mock-servicer/issues)!
15
16## 如何使用?
17
18```
19npm install mock-servicer
20```
21
22安装好了以后,引入并启动即可:
23
24```js
25const MockServicer = require('mock-servicer');
26
27MockServicer({
28
29 // 请求端口,可选,默认8080
30 port: 8080,
31
32 // 服务器根地址,可选,默认当前路径
33 contentBase:'./',
34
35 // mock数据缓存根地址,可选,默认当前路径
36 mockBase:'./mock',
37
38 // 404的提示界面,可选
39 template404:function(list){
40 // 返回当前路径下文件列表
41 return template;
42 },
43
44 // 自定义处理,可选
45 handler:function(options){
46
47 return {
48 code:"",// 响应码,可选,默认200
49 data:"",// 数据,必输
50 type:""// 数据类型,可选,默认application/json
51 };
52
53 },
54
55 // 请求拦截,可选,默认全部同意
56 intercept:function(options){
57 // 如果返回false,服务器会拒绝这次请求
58 return true|false;
59 }
60
61});
62```
63
64### 和服务器交互
65
66服务器启动成功以后,我们就可以通过请求的方式和数据服务器进行数据交互了。
67
68交互主要分为下列几种:
69
70- 新增或更新
71
72```js
73$.ajax({
74 url: 'http://127.0.0.1:8080/update?url=XXX&method=XXX',
75 type: "POST",
76 data: "需要保存的数据"
77});
78```
79
80- 删除
81
82```js
83$.ajax({
84 url: 'http://127.0.0.1:8080/delete?url=XXX&method=XXX'
85});
86```
87
88- 查询
89
90```js
91$.ajax({
92 url: 'http://127.0.0.1:8080/query?url=XXX&method=XXX'
93});
94```
95
96- 原始查询
97
98```js
99$.ajax({
100 url: 'http://127.0.0.1:8080/oralquery?url=XXX&method=XXX'
101});
102```
103
104- 自定义处理
105
106```js
107$.ajax({
108 url: 'http://127.0.0.1:8080/handler'
109});
110```
111
112当前,这意味着启动服务器时```handler```配置项是必须的。
113
114上面的```需要保存的数据```可以是一个普通的JSON字符串,比如:
115
116```js
117data: `{
118 "key1": "value1",
119 "key2": "value2",
120 "key3": "value3"
121}`
122```
123
124或者使用mock,比如:
125
126```js
127data: `Mock.mock({
128// 属性 list 的值是一个数组,其中含有 1 到 10 个元素
129 'list|1-10': [{
130 // 属性 id 是一个自增数,起始值为 1,每次增 1
131 'id|+1': 1
132 }]
133})`
134```
135
136### 作为普通的数据服务器
137
138除了上面特殊情况的交互外,你还可以直接访问位于```服务器根地址 contentBase```下的文件。
139
140## 命令行启动
141
142除了作为一个node包使用外,还可以在安装以后使用命令行启动:
143
144```bash
145mock-servicer --config ./mock-servicer.config.js
146```
147
148需要指定一个配置文件用来规定如何启动,配置文件格式如下:
149
150```js
151// mock-servicer.config.js
152module.exports = {
153
154 port: 8080,
155 // 和直接作为包使用的时候可配置参数的一致的
156
157};
158```
159
160开源协议
161---------------------------------------
162[MIT](https://github.com/hai2007/mock-servicer/blob/master/LICENSE)
163
164Copyright (c) 2021 [hai2007](https://hai2007.gitee.io/sweethome/) 走一步,再走一步。