摘要:酷庫(kù),每天兩分鐘,了解一個(gè)流行庫(kù)。在酷庫(kù)中,我們了解到了數(shù)據(jù)模式驗(yàn)證,以及庫(kù)。是語(yǔ)義化的對(duì)象數(shù)據(jù)模式驗(yàn)證庫(kù),所謂語(yǔ)義化,是指其方法名能夠明確表達(dá)其含義。
NPM酷庫(kù),每天兩分鐘,了解一個(gè)流行NPM庫(kù)?!?/p>
在NPM酷庫(kù)042中,我們了解到了JSON Schema數(shù)據(jù)模式驗(yàn)證,以及ajv庫(kù)。今天我們來(lái)學(xué)習(xí)另一個(gè)對(duì)象數(shù)據(jù)驗(yàn)證的庫(kù)joi。
joijoi 是語(yǔ)義化的對(duì)象數(shù)據(jù)模式驗(yàn)證庫(kù),所謂語(yǔ)義化,是指其方法名能夠明確表達(dá)其含義。
const Joi = require("joi"); // 聲明模式 const schema = Joi.object().keys({ username: Joi.string().alphanum().min(3).max(30).required(), password: Joi.string().regex(/^[a-zA-Z0-9]{3,30}$/), access_token: [Joi.string(), Joi.number()], birthyear: Joi.number().integer().min(1900).max(2013), email: Joi.string().email() }).with("username", "birthyear").without("password", "access_token"); // 驗(yàn)證 const result = Joi.validate({ username: "abc", birthyear: 1994 }, schema); // result.error === null -> valid
注意:joi并非是JSON Schema標(biāo)準(zhǔn)的實(shí)現(xiàn),另外,使用ajv驗(yàn)證JSON Schema可以將模式配置信息保存在.json文件中,因?yàn)镴SON Schema模式是聲明式的,而joi則必須在代碼文件中實(shí)現(xiàn)模式配置,因?yàn)閖oi的語(yǔ)義化必須以函數(shù)調(diào)用來(lái)實(shí)現(xiàn)。
參考資料https://github.com/hapijs/joi
https://github.com/hapijs/joi...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/107540.html
摘要:今天在此向大家推薦一種非常流行的版本號(hào)命名規(guī)則語(yǔ)義化版本。語(yǔ)義化版本約定修訂版本號(hào)代表在和之前接口不變的前提下修正了。就是專門用于語(yǔ)義化版本號(hào)檢查的庫(kù),其也是語(yǔ)義化版本標(biāo)準(zhǔn)的制定者。 NPM酷庫(kù),每天兩分鐘,了解一個(gè)流行NPM庫(kù)。 軟件的命運(yùn)就是不斷維護(hù)、更新、迭代,所以我們用版本號(hào)來(lái)區(qū)分一個(gè)軟件的不同時(shí)期和形態(tài),版本號(hào)的命名方式有各種各樣,有的以小數(shù)表示(幾點(diǎn)幾),有的以日期表示,有...
摘要:集裝箱化集裝箱化集裝箱化以下是部分原因集裝箱化會(huì)迫使你遵從應(yīng)用開發(fā)大原則。通過(guò)集裝箱化,可以實(shí)現(xiàn)開發(fā)階段測(cè)試以及生產(chǎn)環(huán)境的對(duì)等。實(shí)現(xiàn)環(huán)境集裝箱化的理由還有很多很多,一旦掌握了基本知識(shí),集裝箱化就不難實(shí)現(xiàn)。 一.前言 很多情況下,產(chǎn)品的設(shè)計(jì)與開發(fā)人員一直想打造一套高品質(zhì)的解決方案,從而快速、平穩(wěn)地適應(yīng)產(chǎn)品迭代。速度是衡量產(chǎn)品適應(yīng)性的真正且唯一的標(biāo)準(zhǔn),而且,這并不是筆者的一家之言。 「速度...
摘要:酷庫(kù),每天兩分鐘,了解一個(gè)流行庫(kù)。比如需要滿足那些屬性,每個(gè)屬性都是什么類型的,這些條件稱之為數(shù)據(jù)模式驗(yàn)證。在對(duì)數(shù)據(jù)的模式驗(yàn)證領(lǐng)域有專門的標(biāo)準(zhǔn),叫做。就是按照標(biāo)準(zhǔn)聲明一個(gè)模式對(duì)象,然后使用模式驗(yàn)證工具去驗(yàn)證目標(biāo)數(shù)據(jù)。 NPM酷庫(kù),每天兩分鐘,了解一個(gè)流行NPM庫(kù)?!?在NPM酷庫(kù)041中,我們學(xué)習(xí)了如何用validator庫(kù)來(lái)驗(yàn)證字符串是否是Email、URL等,在開發(fā)中,除了字符串,...
摘要:概述當(dāng)創(chuàng)建了一個(gè)后,我們使用就可以啟動(dòng)項(xiàng)目了。這個(gè)命令實(shí)際上是啟動(dòng)了一段腳本,那這個(gè)腳本引用了哪些包呢讓我們來(lái)一探究竟。實(shí)例檢測(cè)本機(jī)版本是否符合需求的版本。鏈接概述這個(gè)包是用來(lái)處理命令行的參數(shù)輸入的。設(shè)置檢查范圍的起始端口號(hào)。 概述 當(dāng)vue-cli創(chuàng)建了一個(gè)vue-demo后,我們使用npm run serve就可以啟動(dòng)項(xiàng)目了。通過(guò)package.json中的serve命令我們可以看...
摘要:酷庫(kù),每天兩分鐘,了解一個(gè)流行庫(kù)。昨天我們了解到可以用庫(kù)將樣式庫(kù)轉(zhuǎn)化為樣式,同時(shí)庫(kù)也提供了強(qiáng)大在增強(qiáng)版的,如果我們需要轉(zhuǎn)化函數(shù),且僅需要使用標(biāo)準(zhǔn)的,那么使用有些大材小用。 NPM酷庫(kù),每天兩分鐘,了解一個(gè)流行NPM庫(kù)。 所有Node.js標(biāo)準(zhǔn)庫(kù)和很多第三方庫(kù)提供的接口都是callback樣式的,在ES7標(biāo)準(zhǔn)時(shí)代,使用async/await配合Promise才是最佳實(shí)踐。 昨天我們了解到...
閱讀 2567·2021-11-25 09:43
閱讀 1350·2021-11-24 09:39
閱讀 898·2021-11-23 09:51
閱讀 2468·2021-09-07 10:18
閱讀 1993·2021-09-01 11:39
閱讀 2854·2019-08-30 15:52
閱讀 2666·2019-08-30 14:21
閱讀 2932·2019-08-29 16:57