2016-04-01 10 views
0

Ich habe den folgenden Code in test1.js.Zugriff auf die Funktion von module.exports

module.exports = function(d){ 
    d.demo1 = function() { 
    return "DEMO 1"; 
    }, 

    d.demo2 = function() { 
    return "DEMO 2"; 
    } 
} 

Ich versuche Funktion demo1 auf test2.js zuzugreifen. Unterhalb des Codes, die die Funktion aufrufen.

var demo = require('./test1'); 
var result = demo.****;  //code to call function demo1 
console.log("calling function", result); //output should be "calling function DEMO 1" 

Bitte helfen Sie, wie kann ich auf diese Funktion zugreifen. Danke.

+0

Mögliche Duplikat [Können wir die Funktion geschrieben in einem JavaScript in anderen JS-Datei aufrufen?] (http://stackoverflow.com/questions/3809862/can-we-call-the-function-written-in-one-javascript-in-another-js-file) – Pugazh

Antwort

1
var demo = require('./test1'); 
var o = {}; 
demo(o); 
o.demo1(); // "DEMO 1"; 
+0

Danke, es funktioniert. –

4

Es ist sehr unklar, was Sie hier erreichen wollen.

Sie exportieren eine Funktion. Diese Funktion benötigt 1 Argument (d). Dann versuchen Sie, die Eigenschaften demo1 und demo2 dieses empfangenen Arguments zwei verschiedenen Funktionen zuzuweisen.

Was ich denke Sie möchten, dass Sie ein Objekt mit zwei verschiedenen Eigenschaften für diese Funktionen exportieren möchten. Z.B. dies zu tun:

module.exports = { 
    demo1: function() { 
    return "DEMO 1"; 
    }, 

    demo2: function() { 
    return "DEMO 2"; 
    } 
} 

Dann können Sie das Modul importieren und Zugriff auf die demo1 und demo2 Funktionen wie:

var demo = require('./test1'); 
var result = demo.demo1(); 
+0

Ich weiß das, aber ich versuche das auf andere Weise, die ich dich frage. Danke ich habe Lösung von # user1280859 –

Verwandte Themen