我想知道 NodeJs 中的这些 require 行是什么意思。
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');
如果相关模块返回一个函数,那么实现就很容易。在调试和弃用的情况下,它返回一个返回函数的函数:
// 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"
关于node.js - NodeJs 中的这一行是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30836648/