亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

NPM酷庫:depd 聲明棄用功能

paulquei / 3367人閱讀

摘要:有沒有優(yōu)雅的方式呢今天我們了解的庫就是專門來控制輸出棄用功能警告日志的。聲明棄用函數(shù)使用包裹一層我們要廢棄的函數(shù),那么這個函數(shù)在被第一次調(diào)用時,就會自動輸出警告信息。聲明棄用屬性使用聲明對象指定的屬性被棄用。

NPM酷庫,每天兩分鐘,了解一個流行NPM庫。

Node.js 高效率編程的基礎(chǔ)是大量的NPM開源庫,開發(fā)應(yīng)用時,找特定領(lǐng)域的NPM庫要比自己從頭寫代碼要高效得多。如果某個領(lǐng)域沒有對應(yīng)的公共NPM庫,那么我們可以自己編寫一個NPM庫,并發(fā)布到NPM倉庫,供大家和自己日后使用。這才是Node.js正確的編碼姿勢。

如果我們發(fā)布了NPM庫供大家使用,那么,我們的NPM庫的接口就不能隨便變化,以免給其他的使用者帶來麻煩。如果某些接口不得不調(diào)整,最好提前幾個版本告訴大家某些接口要棄用,以給其他使用者一些整改的時間。

最好的通知方式,就是在你的代碼執(zhí)行時,如果某些將要廢棄的接口被調(diào)用,那就在控制臺中輸出警告日志,這樣,依賴你的庫的其他開發(fā)者就能關(guān)注到你的通知。

但是要注意,只在接口第一次被調(diào)用的時候發(fā)出通知,否則,很有可能給項目的控制臺帶來災(zāi)難,因為你的底層庫提供的接口會被多次調(diào)用。我們可以增加哨兵變量來控制一個廢棄接口只輸出一次警告。但是,隨著你的公共庫的規(guī)模變大,有可能會有很多接口棄用警告,那么就會到處充斥著和主體邏輯無關(guān)的哨兵變量和判斷。有沒有優(yōu)雅的方式呢?

depd

今天我們了解的depd庫就是專門來控制輸出棄用功能警告日志的。

最簡用法:
const depd = require("depd");

const deprecate = depd("my-module");

deprecate("this function deprecated");

我們可以在任何地方使用 deprecate() 輸出我們的日志,同樣的日志只會輸出一次,因為 depd 已經(jīng)內(nèi)置了哨兵變量的管理。

聲明棄用函數(shù)
const depd = require("depd");

const deprecate = depd("my-cool-module");

exports.oldfunction = deprecate.function(function oldfunction () {
  // all calls to function are deprecated
});

使用 deprecate.function() 包裹一層我們要廢棄的函數(shù),那么這個函數(shù)在被第一次調(diào)用時,就會自動輸出警告信息。

聲明棄用屬性
const depd = require("depd");

const deprecate = depd("my-cool-module");

exports.oldprop = "something";

// message automatically derives from property name
deprecate.property(exports, "oldprop");

使用 deprecate.property() 聲明對象指定的屬性被棄用。

參考資料

https://github.com/dougwilson...

歡迎關(guān)注公眾號:梁興臣

每天了解一個NPM庫,一年后成為Node.js高手

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/90715.html

相關(guān)文章

  • NPM酷庫042:ajv,JSON 模式驗證

    摘要:酷庫,每天兩分鐘,了解一個流行庫。比如需要滿足那些屬性,每個屬性都是什么類型的,這些條件稱之為數(shù)據(jù)模式驗證。在對數(shù)據(jù)的模式驗證領(lǐng)域有專門的標(biāo)準(zhǔn),叫做。就是按照標(biāo)準(zhǔn)聲明一個模式對象,然后使用模式驗證工具去驗證目標(biāo)數(shù)據(jù)。 NPM酷庫,每天兩分鐘,了解一個流行NPM庫。· 在NPM酷庫041中,我們學(xué)習(xí)了如何用validator庫來驗證字符串是否是Email、URL等,在開發(fā)中,除了字符串,...

    lavnFan 評論0 收藏0
  • NPM酷庫043:joi,語義化模式驗證

    摘要:酷庫,每天兩分鐘,了解一個流行庫。在酷庫中,我們了解到了數(shù)據(jù)模式驗證,以及庫。是語義化的對象數(shù)據(jù)模式驗證庫,所謂語義化,是指其方法名能夠明確表達(dá)其含義。 NPM酷庫,每天兩分鐘,了解一個流行NPM庫。· 在NPM酷庫042中,我們了解到了JSON Schema數(shù)據(jù)模式驗證,以及ajv庫。今天我們來學(xué)習(xí)另一個對象數(shù)據(jù)驗證的庫joi。 joi joi 是語義化的對象數(shù)據(jù)模式驗證庫,所謂語義...

    2bdenny 評論0 收藏0
  • NPM酷庫044:json5,更可讀的JSON

    摘要:酷庫,每天兩分鐘,了解一個流行庫。是一個格式的擴(kuò)展,目的是能夠讓人類更容易讀寫數(shù)據(jù)文件。只是一個第三方的庫,并非格式的繼任者。相對于,有如下各個方面優(yōu)勢。 NPM酷庫,每天兩分鐘,了解一個流行NPM庫?!?JSON是JS中數(shù)據(jù)交換時最常用的數(shù)據(jù)格式,其序列話和反序列化性能非常好,但是其語法卻比較嚴(yán)格,比如以下是一個合法的JS聲明,卻不是一個合法的JSON: { foo: bar } J...

    Flink_China 評論0 收藏0
  • NPM酷庫:globby,增強(qiáng)版的glob

    摘要:酷庫,每天兩分鐘,了解一個流行庫。昨天,我們學(xué)習(xí)了一個新庫,用于模式匹配目錄文件。今天,我們要了解的,是基于,并進(jìn)一步得到了增強(qiáng)了功能。 NPM酷庫,每天兩分鐘,了解一個流行NPM庫。 昨天,我們學(xué)習(xí)了一個新庫 glob,用于模式匹配目錄文件。今天,我們要了解的globby,是基于 glob,并進(jìn)一步得到了增強(qiáng)了功能。 globby 特性 相對于 glob,globby有以下增強(qiáng)功能 ...

    atinosun 評論0 收藏0
  • NPM酷庫:winston 多路日志記錄

    摘要:昨天,我們認(rèn)識了庫的用法,用來控制輸出調(diào)試日志。今天我們再了解一個日志記錄的庫,一個多路傳輸?shù)娜罩居涗泿臁K^多路傳輸,是指,你可以自定義多個日志儲存驅(qū)動,比如,將日志輸出到終端的同時,將重要日志記錄到文件中,甚至寫到數(shù)據(jù)庫中。 NPM酷庫,每天兩分鐘,了解一個流行NPM庫。 昨天,我們認(rèn)識了debug庫的用法,用來控制輸出調(diào)試日志。但是,debug的特性適合于開發(fā)調(diào)試,并不適合程序記...

    荊兆峰 評論0 收藏0

發(fā)表評論

0條評論

paulquei

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<