我正在阅读一个项目的一些代码来学习 node.js,然后我发现这行 ( debug = require('debug')('api:server')
) 括在括号中。由于我是编程新手,当我不知道某些东西时,我只是在网上搜索它,但我找不到这个答案。如果您要告诉我更积极地在网上搜索,那么也请告诉我如何。
问问题
946 次
1 回答
3
require
返回某个其他模块的导出。在这里,由于debug
正在传递到require
,因此debug
需要模块。这个模块的作用是:
debug 暴露一个函数;只需将此函数传递给你的模块的名称,它就会返回一个修饰版本的 console.error 供你传递调试语句。这将允许您切换模块不同部分以及整个模块的调试输出。
所以
const debug = require('debug')('api:server');
whererequire('debug')
解析为一个函数,就像:
const debug = deccorateModule('api:server');
其中decorateModule
执行上述功能。在这种情况下,require
充当高阶函数:返回函数的函数。(您可能有一个名为 的模块api:server
)
这导致debug
变量包含console.error
.
于 2020-01-23T05:59:13.543 回答