2016-05-30 9 views
0

i index.js Datei haben, die der "Haupteingang" zu meinen NPM-Modul istExpose Modul nach außen entfernen alias

in den index.js Ich habe den folgenden Code

index.js

var server = module.exports = {}; 

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

loader.js

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

das Modul, welches Dies ist Arbeits OK aber meine Frage, ob es einen Weg gibt, irgendwie entfernen Sie die Last die verwendet mein Modul (als Knoten Abhängigkeiten von package.json) gehen Sie wie folgt

var aMoudle = require("myModule"); 

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

verbrauchen in aMoudule.load.add? und stattdessen die aModule.add (aber natürlich die add innerhalb des loader zu halten und legte es in meine index.js nicht die eine Lösung sein kann, aber ich es vermeiden wollen ... :-)) zu tun

Antwort

1

Wenn Sie verwenden:

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

alle exportierten Mitglieder des Laders in Server.Load Variable und somit werden gespeichert, wenn Sie Sie verwenden müssen aufrufen müssen hinzufügen:

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

statt exportieren Sie die Anzeige d Methode selbst von den Lader wie folgt:

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

so dass nur die Add-Methode selbst und man konnte die Add-Methode direkt wie unten Zugang:

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

Können Sie Ihre vorgeschlagene Antwort bearbeiten auf, was diese zu erweitern tut und wie es das OP anspricht? –

Verwandte Themen