2014-02-18 3 views
1

Недавно им попытаться прочитать коды koajs и найти эту строку кода:Узел Требовать с двумя скобкой

var debug = require('debug')('koa-route'); 

Что это значит? зачем использовать ('debug'), а затем ('koa-route')? вы можете найти код here. и я говорю, что я нахожу эту строку кода в као-маршрутной средней службе defination

+6

'требуют («отладить»)' возвращает функцию. – elclanrs

+0

, так что нужно вернуть функцию и ('koa-route') является параметром? – MBehtemam

+1

Да, см. Https://github.com/visionmedia/debug – elclanrs

ответ

1

модуль в основном выглядит примерно так:

function toRun() { 
    // do stuff 
} 

module.exports = toRun; 

Тогда ваш код сценария выполняет следующие:

var ran = require('torun')(); 

Это удобный способ показать что-то наиболее часто используется, но и полезной, если вы хотите открыть некоторые методы непосредственно на экспортированном Function. Например:

function toRun() { 
    // do stuff 
} 

toRun.moreStuff = function() { 
    // and again 
}; 

module.exports = toRun; 

Затем, чтобы получить доступ к дополнительным функциям, вы можете просто захватить всю вещь:

var toRun = require('torun'); 
var ran = toRun(); 
var stuff = toRun.moreStuff(); 
1

Согласно комментарию и debug defination require ('debug') возвращает функцию и ('koa-route') является параметром этой функции.

+1

Дополнительная информация о [функциях более высокого порядка] (http://en.wikipedia.org/wiki/Higher-order_function) – elclanrs

Смежные вопросы