NodeJs中的这一行是什么意思?

我想知道这些需要在NodeJs中的行是什么意思。

var debug = require('debug')('morgan') var deprecate = require('depd')('morgan') 

我正在通过NodeJs中的morgan包的index.js 。 通常只require一个参数(包)。

require返回包中定义的内容。 在上面的情况下,它们是函数,所以第二个参数实际上是调用函数。 如果你把它分解出来,看起来像这样:

 var debugFunctionFactory = require('debug'); var debug = debugFunctionFactory('morgan'); debug('this is a test debug command'); 

如果有问题的模块返回一个函数,这个实现就很容易。 而在debugging和弃用的情况下,它将返回一个返回函数的函数:

 // Module code: module.export = function(customName) { return function(message) { console.log(customName + ': ' + message); }; }; // Your code: var foo = require('module'); // => function var bar = foo('foobar'); // => function bar('baz'); // "foobar: baz" // More concisely: var foo = require('module')('foobar'); // => function foo('baz'); // "foobar: baz"