如何在開發(fā)過程中搭建簡單的假數(shù)據(jù)服務(wù)器
【數(shù)據(jù)猿導(dǎo)讀】 在開發(fā)一塊新功能的過程中,我們通常會(huì)涉及到與后端接口聯(lián)調(diào)的問題。新的界面、新的后口,這時(shí)候在開發(fā)的時(shí)候往往前端就很尷尬,后端不依賴前端,但是前端十分依賴后端。大部分應(yīng)用都會(huì)有或多或少地依賴后端數(shù)據(jù),有的界面只需要簡單搞個(gè)假數(shù)據(jù)傳入即可,本文將重點(diǎn)分享如何在開發(fā)過程中...

在開發(fā)一塊新功能的過程中,我們通常會(huì)涉及到與后端接口聯(lián)調(diào)的問題。新的界面、新的后口,這時(shí)候在開發(fā)的時(shí)候往往前端就很尷尬,后端不依賴前端,但是前端十分依賴后端。
大部分應(yīng)用都會(huì)有或多或少地依賴后端數(shù)據(jù),有的界面只需要簡單搞個(gè)假數(shù)據(jù)傳入即可,但是我們還需要應(yīng)對(duì)很多復(fù)雜情況,比如:
- 處理無數(shù)據(jù)、返回錯(cuò)誤、各類非正常的狀態(tài);
- 處理分頁數(shù)據(jù)的情況;
- 模擬一個(gè)請求中、請求失敗、請求結(jié)果返回的情景;
這時(shí)候如果能夠?qū)懸粋€(gè)簡單的服務(wù)器,你請求真實(shí)的接口url,只需要給手機(jī)設(shè)置一個(gè)代理,就返回你設(shè)置的假數(shù)據(jù)。這樣你就可以完全拋開其他依賴的顧慮,可以像正常情況一樣開發(fā)、校驗(yàn)結(jié)果,而不是依賴寫死在代碼里的各種假邏輯(這樣做也會(huì)為后面的開發(fā)帶來一些隱患)。
實(shí)際上服務(wù)器本身的邏輯是非常簡單的,但是要真正得搭建成你所需要的環(huán)境,需要一些復(fù)雜功夫。本文以nodejs為例,具體描述一下如何在本機(jī)上搭建測試服務(wù)器。
使用node搭建起簡單的服務(wù)器腳本
1. 安裝
Unix 用戶可以使用命令行安裝nodejs。
Windows 用戶可以直接下載安裝包。
安裝成功后如果在命令行下輸入 node -v 能夠打印出版本信息,說明安裝成功了。
2. 簡單服務(wù)器
3. IDE配置
從IDE環(huán)境切換到腳本環(huán)境來寫代碼總會(huì)不順手,推薦一個(gè)我認(rèn)為比較容易上手的配置吧:
- 編輯器 Sublime Text 3,沒啥好說的,好用。
- 代碼補(bǔ)全 TernJS , Tern-Sublime ,是js下代碼提示、補(bǔ)全的利器,極其推薦!
- 錯(cuò)誤檢查 ESLint , SublimeLinter-ESLint 是一款js的靜態(tài)檢查、錯(cuò)誤提示的利器,Sublime的插件也非常好用,配置很簡單。
配上這三個(gè),你就會(huì)覺得用起來已經(jīng)蠻舒服了。
Nginx反向代理
nginx 搭建服務(wù)器的強(qiáng)大處之一就是它的代理能力,配置也十分簡潔。
如果要模擬最終的請求的話,我們應(yīng)該是原封不動(dòng)的保留請求url: ‘www.desmond.com/api/something’。首先我們需要 在手機(jī)上設(shè)置代理,將ip配置到自己電腦上,端口配為80 。但是你的電腦識(shí)別到這個(gè)請求后,怎么讓它導(dǎo)流到你的node服務(wù)器,這是一個(gè)問題。如果你代碼寫死的ip+端口來訪問,未免有點(diǎn)太low了,我們既然折騰了這么多,那可以繼續(xù)往下走一步: 反向代理 。
反向代理,簡而言之,就是一個(gè)分發(fā)請求的代理。 前向代理 是直接發(fā)給目標(biāo)服務(wù)器,但是它會(huì)做一些額外的處理工作。反向代理不一樣,它自己相當(dāng)于是一個(gè)服務(wù)器,請求到它手里,它根據(jù)請求去不同服務(wù)器上拉取數(shù)據(jù)。
1. 安裝Nginx
Linux用戶可以使用命令行:
OSX用戶可以用Homebrew:
Windows用戶可以 下載安裝包
2. 配置代理
我們希望針對(duì)’www.desmond.com/api/something’下的url交由node服務(wù)器(2333端口)處理,其他情況下繼續(xù)發(fā)送,可以在 nginx.conf 里面這么配置(可以在命令行下輸入 nginx -t 找到配置文件位置):
這里如果希望原路繼續(xù)的那些url域名解析配合你的 host (此處使用 8.8.8.8 來做DNS解析),你可以參考 StackOverflow的一個(gè)提問 。
這樣一來,你所有手機(jī)上訪問的 www.desmond.com/api/something 就導(dǎo)到你的nodejs服務(wù)器上啦,盡情配置假數(shù)據(jù)來測試吧~~
來源: Desmond Yao
刷新相關(guān)文章
我要評(píng)論
活動(dòng)推薦more >
- 2018 上海國際大數(shù)據(jù)產(chǎn)業(yè)高2018-12-03
- 2018上海國際計(jì)算機(jī)網(wǎng)絡(luò)及信2018-12-03
- 中國國際信息通信展覽會(huì)將于2018-09-26
- 第五屆FEA消費(fèi)金融國際峰會(huì)62018-06-21
- 第五屆FEA消費(fèi)金融國際峰會(huì)2018-06-21
- “無界區(qū)塊鏈技術(shù)峰會(huì)2018”2018-06-14
不容錯(cuò)過的資訊
-
1#后疫情時(shí)代的新思考#疫情之下,關(guān)于醫(yī)
-
2眾盟科技獲ADMIC 2020金粲獎(jiǎng)“年度汽車
-
3數(shù)據(jù)智能 無限未來—2020世界人工智能大
-
4#2020非凡大賞:數(shù)字化風(fēng)起云涌時(shí),共尋
-
5#榜樣的力量#天璣數(shù)據(jù)大腦疫情風(fēng)險(xiǎn)感知
-
6#榜樣的力量#內(nèi)蒙古自治區(qū)互聯(lián)網(wǎng)醫(yī)療服
-
7#榜樣的力量#實(shí)時(shí)新型肺炎疫情數(shù)據(jù)小程
-
8#榜樣的力量#華佗疫情防控平臺(tái)丨數(shù)據(jù)猿
-
9#后疫情時(shí)代的新思考#構(gòu)建工業(yè)互聯(lián)網(wǎng)新
-
102020可信云大會(huì)丨《云MSP發(fā)展白皮書》重