【问题标题】:what does it mean by "debug = require('debug')('api:server')"“debug = require('debug')('api:server')”是什么意思
【发布时间】:2020-05-09 08:31:57
【问题描述】:

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

【问题讨论】:

标签: javascript node.js node-modules question-answering


【解决方案1】:

require 返回某个其他模块的导出。在这里,由于debug 被传递到require,因此需要debug 模块。这个模块是什么does is

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

所以

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

require('debug') 解析为函数的地方,就像:

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

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

这导致debug 变量包含console.error 的修饰版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-09
    • 1970-01-01
    • 1970-01-01
    • 2010-09-18
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    相关资源
    最近更新 更多