摘要:創(chuàng)建數(shù)據(jù)庫(kù)并且往數(shù)據(jù)庫(kù)里塞用例數(shù)據(jù)這件事情,會(huì)使我很煩躁。我寧愿花更多的時(shí)間在和如何構(gòu)建前端應(yīng)用上。初識(shí)這是一個(gè)很棒的模塊,用來(lái)數(shù)據(jù)。文檔中的代碼告訴你如何使用這些可以很快地開發(fā)應(yīng)用原型。
本文作者:Aman Mittal
編譯:胡子大哈翻譯原文:http://huziketang.com/blog/posts/detail?postId=58ece6c1a58c240ae35bb8e4
英文連接:How to Mock Data for Node.js Applications using Faker.js
轉(zhuǎn)載請(qǐng)注明出處,保留原文鏈接以及作者信息
當(dāng)我們開發(fā)一個(gè)應(yīng)用的時(shí)候,通常都不想耗過(guò)多的精力在數(shù)據(jù)上。創(chuàng)建數(shù)據(jù)庫(kù)并且往數(shù)據(jù)庫(kù)里塞用例數(shù)據(jù)這件事情,會(huì)使我很煩躁。我寧愿花更多的時(shí)間在 RESTful API 和如何構(gòu)建前端應(yīng)用上。
但是這并不是說(shuō)我不在意數(shù)據(jù)庫(kù)中數(shù)據(jù)的組織,對(duì)于數(shù)據(jù)的收集、整理有一個(gè)整體的規(guī)劃還是很重要的。這方面工作完成以后,在你開發(fā) API 的時(shí)候?qū)τ谝鉀Q什么問(wèn)題和如何解決這個(gè)問(wèn)題就變得非常清晰了。在我最近的工作中,我要?jiǎng)?chuàng)建一個(gè)客戶端電子商務(wù)網(wǎng)站原型,我發(fā)現(xiàn)這種情況我以前也遇到過(guò),我需要在截止日期之前,提交一個(gè)客戶端所需要的盡可能檢測(cè)完全的原型系統(tǒng)。在確定了我數(shù)據(jù)庫(kù)結(jié)構(gòu)以后,我查了一下解決方案,發(fā)現(xiàn)了一個(gè)針對(duì) mock 數(shù)據(jù)非常好的解決方案:Faker.js。
初識(shí) Faker.js這是一個(gè)很棒的 node 模塊,用來(lái) mock 數(shù)據(jù)。Faker 有自己的 API,而且功能非常豐富,這一切都要?dú)w功于發(fā)明它的人 Marak 。它幾乎可以覆蓋到任何你想用的用例,在 Github 上的文檔也可以幫你分分鐘熟悉它的用法。
現(xiàn)在來(lái)看一下我需要用的測(cè)試用例——一個(gè)用戶信息。
姓名
網(wǎng)站
地址
個(gè)性簽名
頭像
const faker = require("faker") const User = { name: faker.name.findName(), email: faker.internet.email(), website: faker.internet.url(), address: faker.address.streetAddress() + faker.address.city() + faker.address.country(), bio: faker.lorem.sentences(), image: faker.image.avatar() } module.exports = User
上圖就是結(jié)果了,用 faker.js 很方便地可以 mock 數(shù)據(jù),只需要添加 npm 依賴就行了:
npm install faker --saveFaker.js 數(shù)據(jù)
Faker.js 能產(chǎn)生的數(shù)據(jù)如下:
地址
商業(yè)信息
公司
日期
金融
黑客
助手
圖片
網(wǎng)絡(luò)
亂數(shù)假文
名字
電話
隨機(jī)數(shù)
系統(tǒng)
上面每一個(gè)項(xiàng)目里面都有很多子項(xiàng)目,文檔中有詳細(xì)說(shuō)明。
另外一個(gè)我很喜歡 Faker 的原因是,它不僅可以使用在服務(wù)端的 JavaScript,還可以應(yīng)用在瀏覽器端 JavaScript。文檔中的代碼告訴你如何使用:
這些 API 可以很快地開發(fā) JavaScript / Node.js 應(yīng)用原型。不僅如此,在開發(fā) RESTful API 的時(shí)候,還可以很容易地 mock TDD / BDD 測(cè)試。
完整的源代碼,在這個(gè) Github 庫(kù)中可以看到。
如果本文對(duì)你有幫助,歡迎關(guān)注我的專欄-前端大哈,定期發(fā)布高質(zhì)量前端文章。
我最近正在寫一本《React.js 小書》,對(duì) React.js 感興趣的童鞋,歡迎指點(diǎn)。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/82505.html
摘要:然而扯淡的在前端前端要發(fā)請(qǐng)求,所以每個(gè)請(qǐng)求的都是,而生產(chǎn)環(huán)境服務(wù)器又是。前端方案因?yàn)槲沂窃谛I?,沒辦法了解到大公司的開發(fā)方式??赡芎蠖司腿涡跃筒蛔袷兀敲催@個(gè)前端只能靠來(lái)調(diào)整,然而更多的情況是沒辦法調(diào)整的。 在一個(gè)中大型項(xiàng)目中,你不可能一邊寫著前端一邊寫后端。全棧太難 :) 像rails那樣的開發(fā)模式已經(jīng)很不適合當(dāng)前的環(huán)境了。所有的項(xiàng)目都嚷嚷著前后端分離,那就只能這么干 我之前在做大...
摘要:前端每周清單專注前端領(lǐng)域內(nèi)容,以對(duì)外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點(diǎn)分為新聞熱點(diǎn)開發(fā)教程工程實(shí)踐深度閱讀開源項(xiàng)目巔峰人生等欄目。對(duì)該漏洞的綜合評(píng)級(jí)為高危。目前,相關(guān)利用方式已經(jīng)在互聯(lián)網(wǎng)上公開,近期出現(xiàn)攻擊嘗試爆發(fā)的可能。 前端每周清單專注前端領(lǐng)域內(nèi)容,以對(duì)外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點(diǎn);分為新聞熱點(diǎn)、開發(fā)教程、工程實(shí)踐、深度閱讀、開源項(xiàng)目、巔峰人生等欄目。歡...
摘要:微信支付,支付寶支付,銀聯(lián)支付三大支付總結(jié)支付寶植入總結(jié)支付寶的植基于和百度地圖的組件庫(kù)基于百度地圖封裝的組件庫(kù),使用這個(gè)庫(kù)最好需要先了解和百度地圖。 Commento - 多說(shuō) & Disqus 開源替代品 Commento - 多說(shuō) & Disqus 開源替代品 anime.js 簡(jiǎn)單入門教程 強(qiáng)大輕量的動(dòng)畫庫(kù) anime.js 入門教程 來(lái)自B站的開源的MagicaSakura源...
摘要:微信支付,支付寶支付,銀聯(lián)支付三大支付總結(jié)支付寶植入總結(jié)支付寶的植基于和百度地圖的組件庫(kù)基于百度地圖封裝的組件庫(kù),使用這個(gè)庫(kù)最好需要先了解和百度地圖。 Commento - 多說(shuō) & Disqus 開源替代品 Commento - 多說(shuō) & Disqus 開源替代品 anime.js 簡(jiǎn)單入門教程 強(qiáng)大輕量的動(dòng)畫庫(kù) anime.js 入門教程 來(lái)自B站的開源的MagicaSakura源...
摘要:如何去解決這些問(wèn)題前后端分離大部分的互聯(lián)網(wǎng)公司都分成了前端團(tuán)隊(duì)和后端團(tuán)隊(duì)。方案一采用架構(gòu)業(yè)界很多公司會(huì)采用,單頁(yè)應(yīng)用的架構(gòu),這種架構(gòu)是天然的前后端分離的。方案二淘寶的大前端方案中途島上圖是淘寶基于的前后端分離分層,以及的職責(zé)范圍。 我們遇到了什么問(wèn)題? 1.前端無(wú)法調(diào)試后端未完成的 API:如果后端同學(xué)還沒有完成 API 開發(fā),那么前端同學(xué)就不能對(duì)這個(gè) API 進(jìn)行開發(fā)。之前我們都是在...
閱讀 2118·2021-09-30 09:47
閱讀 799·2021-09-22 15:43
閱讀 2064·2019-08-30 15:52
閱讀 2516·2019-08-30 15:52
閱讀 2674·2019-08-30 15:44
閱讀 998·2019-08-30 11:10
閱讀 3443·2019-08-29 16:21
閱讀 3377·2019-08-29 12:19