[TOC]
[sinonjs](https://sinonjs.org/)
[https://mockoon.com/](https://mockoon.com/)
mockapi.io
[Don’t Waste Your Time Building Fake APIs in Code](https://stoplight.io/blog/dont-code-fake-apis/)
[2019/frontend-first-api-mocking](https://www.unic.com/en/competencies/experts-blog/2019/frontend-first-api-mocking)
[fastmock.site](https://fastmock.site/#/)
[https://fake.rest/](https://fake.rest/)
[YMFE/yapi](https://github.com/YMFE/yapi)
# 生成API的文檔
https://github.com/tripit/slate
https://github.com/mapbox/docbox
# Mock 平臺
https://randomuser.me/
https://github.com/marak/faker.js
http://jsonplaceholder.typicode.com/
## 國內Mock 平臺
https://easy-mock.com/
[Mock.js](http://mockjs.com/)
https://apizza.net/pro/
https://nei.netease.com/
## [Easy-Mock](http://www.easy-mock.com/)
感謝大搜車團隊開放的模擬數據的在線Mock服務,
ChandlerVer5
xw522101
# Mock 測試工具
## https://apizza.net
## RAP2
http://rap2.taobao.org/
RAP2 **是一個Web接口管理工具,開源免費,接口自動化,MOCK數據自動生成,自動化測試,企業級管理。阿里媽媽MUX團隊出品**
[rap2快速入門](https://www.jianshu.com/p/22d21ec04cd0)
# mock.js
[justreq 與 mock.js 組合,快速打造高質量Mock Server](https://segmentfault.com/a/1190000008558079)
使用mock.js提供模擬數據 http://blog.csdn.net/cuo9958/article/details/53995182
https://github.com/retro/apitizer
https://www.zhihu.com/question/35436669
http://sinonjs.org/
http://xwartz.xyz/blog/2016/09/mock-server/
# Nginx 代理
Nginx 的反向代理功能還是在現在的工作中使用了,才有所了解。
nginx.conf
```
server {
listen 80;
# 把所有 uri 以 /api 開頭的轉發到接口服務器
location /api {
proxy_pass http://127.0.0.1:4000;
}
}
```
Nginx 了解的并不是很多,就不展開討論了,還望人指點。
# 可以使用的 Mock Server
存在很多服務,可以使用,有以下推薦:
[apiary](https://apiary.io/): 可以生成文檔,但是非個人使用得付費。
[RAP2](https://github.com/thx/rap2-delos): 功能貌似很強大,阿里媽媽MUX團隊出品。
[json-server](https://github.com/typicode/json-server): Node 編寫,適合前端人員使用,但不能產生文檔。
# 服務器端mock(php版)
```php
<?php
/**
* Mock Json for Javascript
*
* @author soulteary
* @date 2014-06-15
*/
/**
* 請求接口字段:字符集
*/
define('charset', 'charset');
/**
* 請求接口字段:回調函數名
*/
define('callback', 'callback');
/**
* 請求接口字段:跨域字段
*/
define('crossDomain', 'cross-domain');
/**
* 輸出mock數據
* 如果存在mock.json文件,則數據從mock.js中獲取
*
* @return string
*/
function mockData()
{
if (file_exists('mock.json')) {
$data = json_decode(file_get_contents('mock.json'));
} else {
$data = Array(
'code' => 200,
'desc' => 'Get the default data.',
'login' => true,
'data' => Array(
'name' => 'test api.'
)
);
}
return json_encode($data);
}
/**
* 輸出字符集,允許結果為gbk、gb2312、utf-8
* 如果非法或者未設置,輸出utf-8
*
* @return string
*/
function charset()
{
$ret = 'utf-8';
if (empty($_REQUEST[charset])) {
return $ret;
} else {
$charset = strtolower($_REQUEST[charset]);
if (in_array($charset, array('gbk', 'gb2312'), true)) {
return $charset;
} else {
return $ret;
}
}
}
/**
* 拼裝json數據
*
* @return string
*/
function jsonGenerator()
{
if (!empty($_REQUEST[callback])) {
header('Content-Type: application/javascript; charset=' . charset());
return $_REQUEST[callback] . "(" . mockData() . ");";
} else {
if (!empty($_REQUEST[crossDomain])) {
header("Access-Control-Allow-Origin: *");
};
header('Content-type: application/json; charset=' . charset());
return mockData();
}
}
/**
* 輸出結果
*/
die(jsonGenerator());
```
# 調試
[Tencent/vConsole](https://github.com/Tencent/vConsole)
- 講解 Markdown
- 示例
- SVN
- Git筆記
- github 相關
- DESIGNER'S GUIDE TO DPI
- JS 模塊化
- CommonJS、AMD、CMD、UMD、ES6
- AMD
- RequrieJS
- r.js
- 模塊化打包
- 學習Chrome DevTools
- chrome://inspect
- Chrome DevTools 之 Elements
- Chrome DevTools 之 Console
- Chrome DevTools 之 Sources
- Chrome DevTools 之 Network
- Chrome DevTools 之 Memory
- Chrome DevTools 之 Performance
- Chrome DevTools 之 Resources
- Chrome DevTools 之 Security
- Chrome DevTools 之 Audits
- 技巧
- Node.js
- 基礎知識
- package.json 詳解
- corepack
- npm
- yarn
- pnpm
- yalc
- 庫處理
- Babel
- 相關庫
- 轉譯基礎
- 插件
- AST
- Rollup
- 基礎
- 插件
- Webpack
- 詳解配置
- 實現 loader
- webpack 進階
- plugin 用法
- 輔助工具
- 解答疑惑
- 開發工具集合
- 花樣百出的打包工具
- 紛雜的構建系統
- monorepo
- 前端工作流
- 爬蟲
- 測試篇
- 綜合
- Jest
- playwright
- Puppeteer
- cypress
- webdriverIO
- TestCafe
- 其他
- 工程開發
- gulp篇
- Building With Gulp
- Sass篇
- PostCSS篇
- combo服務
- 編碼規范檢查
- 前端優化
- 優化策略
- 高性能HTML5
- 瀏覽器端性能
- 前后端分離篇
- 分離部署
- API 文檔框架
- 項目開發環境
- 基于 JWT 的 Token 認證
- 扯皮時間
- 持續集成及后續服務
- 靜態服務器搭建
- mock與調試
- browserslist
- Project Starter
- Docker
- 文檔網站生成
- ddd