2016-05-30 3 views
0

я index.js файл, который является «основной вход» в мой модульExpose модуль для внешнего удалить псевдоним

НПМ в index.js я следующий код

index.js

var server = module.exports = {}; 

server.load = require("./controller/loader"); 

loader.js

function add(args) { 
    loadFolder(args.path); 
} 
module.exports = { 
    add:add 
} 

модуль, который потребляет мой модуль (как зависимости узла на package.json) сделайте следующее

var aMoudle = require("myModule"); 

aMoudule.load.add({path:__dirname + '/module'}); 

Это работает OK, но мой вопрос, если есть способ как-то удалить нагрузки, которая используется в aMoudule.load.add? и сделать вместо этого aModule.add (но, конечно же, чтобы сохранить add внутри loader и не записывайте его в моем index.js, которые могут быть решением, но я хочу, чтобы избежать этого ... :-))

ответ

1

When вы используете:

server.load = require("./controller/loader"); 

все экспортируемые члены загрузчика будут храниться в переменной Server.Load и, следовательно, если вы должны вызвать добавить вам нужно использовать:

require('myModule').load.add() 

вместо экспорта объявление d метод себя от погрузчика, как показано ниже:

server.add = require("./controller/loader").add 

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

require('myModule').add() 
+0

Можете ли вы изменить свой предложенный ответ расширить на то, что это делает и как он обращается к OP? –

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

  • Нет связанных вопросов^_^