2016-11-24 2 views
0

I params Verfahren in der Steuerung B erklärt passieren will ausgesetzt vorbei, heißt es conB.js ist und sieht aus wie dieseparam ein Verfahren von einem anderen Controller

module.exports.verify = function(req,res,next){ 
// how to get it here? 
} 

Dann jetzt bin ich conA.js haben, Wie kann ich Argumente übergeben?

Ich weiß, erstens ich es schließen müssen,

var ConB = require('ConB'); 

aber wie param passiert Methode, um zu überprüfen, wie ConB.verify (‚param‘), so dass ich es in ConA.js bekommen kann?

+0

Können Sie erklären, was Sie eigentlich tun möchten? –

+0

@DhavalChaudhary Ich möchte Parameter von Controller zu Controller übergeben. Meine Antwort wurde aktualisiert. –

Antwort

1

nicht sicher, ob ich undestand, was Sie zu tun versuchen, aber wenn Sie rufen mit einem Parameter, den Sie als eine Funktion definieren zu wollen, um zu überprüfen, um den Parameter zu akzeptieren. So conB.js ist:

module.exports.verify = function(param){ 
    // do something with param 
    return something; 
} 

Dann in conA.js:

var conB = require('./conB.js'); 
var result = conB.verify(your_param); 

Update nach Kommentar ...

Sie können auch die verschiedenen Controllern als Express Middleware schreiben und Parameter mit res.locals übergeben. Siehe: http://expressjs.com/en/guide/using-middleware.html

In diesem Fall Sie eine Route in Sie app benötigen, die die Middleware in Folge ruft:

app.use("/testUrl", consB.verify, cansA.doSomething); 

Dann consB.js ist so etwas wie:

module.exports.verify = function(req, res, next){ 
    // do something with param and store something in res.locals 
    res.locals.user = "foo"; 
    // then remember to call next 
    next(); 
} 

ConsA.js

module.exports.doSomething = function(req, res, next) { 
    // use locals modified by previous middleware 
    res.end("The user of the request is: "+res.locals.user); 
} 
+0

wo wird meine req, res, nächste sein, wenn ich mehrere params in verify? –

+0

Brauchen Sie sie innen überprüfen? Ich werde meine Antwort aktualisieren, aber ohne zu verstehen, was Sie versuchen zu überprüfen, ist es schwierig. – filippo

0

Datei - conB.js

module.exports.verify = function(req,res,next){ 

} 

Datei - conA.js // hier können Sie von conB.js exportierte Objekt verwenden möchten

Also, was Sie tun können, wenn beide die Dateien im selben Ordner, ansonsten müssen relative Pfade verwendet werden.

var conB = require('./conB.js') 
+0

Ich weiß, wie Import und Export zu tun, meine Frage ist, wie kann ich param übergeben. –

+0

Export-Objekt wie conB = {someName: function (req, res, next) {}}; und versuchen Sie andererseits conB.someName (yourParameters). Ich hoffe, das wird helfen. –

Verwandte Themen