今天推薦一個好用的前端 mock 工具,Easy Mock,目前由大搜車無線架構團隊進行維護,讓我覺得特別好用的一點是 它支持 swagger(一個能稱為框架的 API 書寫工具),並能夠基於 Swagger 快速創建項目(酷),使用 easy-mock 你需要具備幾個相關工具或者知識,(mock.js語法,本地部署的話需要基本的node/npm/git操作,當然你可以完全不必要這么做,它的在線服務做的很好);下面是 easy-mock 的官方文檔介紹。
正文~~~
介紹
如果沒有內網部署的條件,推薦使用在線服務。
Easy Mock 是一個可視化,並且能快速生成模擬數據的持久化服務。
特性
- 支持接口代理
- 支持快捷鍵操作
- 支持協同編輯
- 支持團隊項目
- 支持 RESTful
- 支持 Swagger | OpenAPI Specification (1.2 & 2.0 & 3.0)
- 基於 Swagger 快速創建項目
- 支持顯示接口入參與返回值
- 支持顯示實體類
- 支持靈活性與擴展性更高的響應式數據開發
- 支持自定義響應配置(例:status/headers/cookies)
- 支持 Mock.js 語法
- 支持 restc 方式的接口預覽
鏈接
- 在線使用文檔
- Easy Mock CLI - 基於 Easy Mock 快速生成 api.js 的命令行工具。
快速開始
在開始之前,假設你已經成功安裝了 Node.js(>= v8.9)& MongoDB(>= v3.4)& Redis(>= v4.0)。
安裝
$ git clone https://github.com/easy-mock/easy-mock.git
$ cd easy-mock && npm install
配置文件
找到 config/default.json,或者創建一個 config/local.json 文件,將如下需要替換的字段換成自己的配置即可。
不同環境會加載不同的配置文件,在此之前你應該對 node-config 有所了解。
{
"port": 7300,
"host": "0.0.0.0",
"pageSize": 30,
"proxy": false,
"db": "mongodb://localhost/easy-mock",
"unsplashClientId": "",
"redis": {
"keyPrefix": "[Easy Mock]",
"port": 6379,
"host": "localhost",
"password": "",
"db": 0
},
"blackList": {
"projects": [], // projectId,例:"5a4495e16ef711102113e500"
"ips": [] // ip,例:"127.0.0.1"
},
"rateLimit": { // https://github.com/koajs/ratelimit
"max": 1000,
"duration": 1000
},
"jwt": {
"expire": "14 days",
"secret": "shared-secret"
},
"upload": {
"types": [".jpg", ".jpeg", ".png", ".gif", ".json", ".yml", ".yaml"],
"size": 5242880,
"dir": "../public/upload",
"expire": {
"types": [".json", ".yml", ".yaml"],
"day": -1
}
},
"ldap": {
"server": "", // 設置 server 代表啟用 LDAP 登錄。例:"ldap://localhost:389" 或 "ldaps://localhost:389"(使用 SSL)
"bindDN": "", // 用戶名,例:"cn=admin,dc=example,dc=com"
"password": "",
"filter": {
"base": "", // 查詢用戶的路徑,例:"dc=example,dc=com"
"attributeName": "" // 查詢字段,例:"mail"
}
},
"fe": {
"copyright": "",
"storageNamespace": "easy-mock_",
"timeout": 25000,
"publicPath": "/dist/"
}
}
背景圖配置:
登錄頁的背景圖服務目前支持 Unsplash 與 Bing。
如果 unsplashClientId 配置留空,默認由 Bing 提供服務。
注意:
publicPath默認是'/dist/'。如有需要,可以將其替換成自己的 CDN;- 關於
fe的配置,一旦發生改變應該重新執行 build 命令。
啟動
$ npm run dev
# 訪問 http://127.0.0.1:7300
更多命令
# 前端靜態資源構建打包
$ npm run build
# 以生產環境方式啟動,需要提前執行 build
$ npm run start
# 單元測試
$ npm run test
# 語法檢測
$ npm run lint
服務器部署
在此之前請先配置好配置文件。
PM2
當在內網服務器部署時,推薦使用 PM2 來守護你的應用進程。
全局安裝 PM2
$ [sudo] npm install pm2 -g
用 PM2 啟動
在此之前,你應該已經完成了 build。
$ NODE_ENV=production pm2 start app.js
版本發布
Release 中記錄了每個版本的詳細更改。
貢獻
Easy Mock 目前由大搜車無線架構團隊進行維護。如有問題,歡迎提出 Issues,並通過 Pull Request 共同維護。不過在此之前,請務必閱讀這份貢獻指南。
