NPM酷库,每天两分钟,了解一个流行NPM库。
Node.js 高效率编程的基础是大量的NPM开源库,开发应用时,找特定领域的NPM库要比自己从头写代码要高效得多。如果某个领域没有对应的公共NPM库,那么我们可以自己编写一个NPM库,并发布到NPM仓库,供大家和自己日后使用。这才是Node.js正确的编码姿势。
如果我们发布了NPM库供大家使用,那么,我们的NPM库的接口就不能随便变化,以免给其他的使用者带来麻烦。如果某些接口不得不调整,最好提前几个版本告诉大家某些接口要弃用,以给其他使用者一些整改的时间。
最好的通知方式,就是在你的代码执行时,如果某些将要废弃的接口被调用,那就在控制台中输出警告日志,这样,依赖你的库的其他开发者就能关注到你的通知。
但是要注意,只在接口第一次被调用的时候发出通知,否则,很有可能给项目的控制台带来灾难,因为你的底层库提供的接口会被多次调用。我们可以增加哨兵变量来控制一个废弃接口只输出一次警告。但是,随着你的公共库的规模变大,有可能会有很多接口弃用警告,那么就会到处充斥着和主体逻辑无关的哨兵变量和判断。有没有优雅的方式呢?
depd
今天我们了解的depd库就是专门来控制输出弃用功能警告日志的。
最简用法:
const depd = require('depd');
const deprecate = depd('my-module');
deprecate('this function deprecated');
我们可以在任何地方使用 deprecate()
输出我们的日志,同样的日志只会输出一次,因为 depd 已经内置了哨兵变量的管理。
声明弃用函数
const depd = require('depd');
const deprecate = depd('my-cool-module');
exports.oldfunction = deprecate.function(function oldfunction () {
// all calls to function are deprecated
});
使用 deprecate.function()
包裹一层我们要废弃的函数,那么这个函数在被第一次调用时,就会自动输出警告信息。
声明弃用属性
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...
欢迎关注公众号:梁兴臣
每天了解一个NPM库,一年后成为Node.js高手
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。