"debug = require('debug')('api:server')"是什么意思



我正在阅读一个项目的一些代码来学习节点.js然后我发现了括在括号中的这一行(debug = require('debug')('api:server')(。由于我是编程新手,当我不知道某些东西时,我只是在网上搜索它,但我找不到这个问题的答案。如果你要告诉我更积极地在网上搜索,那么也请告诉我怎么做

require返回其他模块的导出。这里,由于debug被传递到require,所以需要debug模块。此模块的作用是:

debug 公开一个函数;只需将此函数传递模块的名称,它将返回 console.error 的修饰版本,以便您将调试语句传递给该函数。这将允许您切换模块不同部分以及整个模块的调试输出。

所以

const debug = require('debug')('api:server');

其中require('debug')解析为函数,如下所示:

const debug = deccorateModule('api:server');

decorateModule执行上述功能的地方。在这种情况下,require充当高阶函数:返回函数的函数。(您可能有一个名为api:server的模块(

这导致debug变量保存console.error的修饰版本。

最新更新