我想将params传递给在控制器B中声明的方法,表示它是conB.js,如下所示
module.exports.verify = function(req,res,next){
// how to get it here?
}那么现在我有了conA.js,我如何将参数传递给它呢?
我知道首先我得把它包括进去
var ConB = require('ConB');但是如何通过param来验证像ConB.verify('param')这样的方法,这样我就可以在ConA.js中得到它了?
发布于 2016-11-24 13:17:02
我不确定你想要做什么,但是如果你想用一个参数调用,你必须把它定义为接受参数的函数。所以conB.js是:
module.exports.verify = function(param){
// do something with param
return something;
}然后在conA.js中:
var conB = require('./conB.js');
var result = conB.verify(your_param);一个接一个的评论..。
您还可以将不同的控制器编写为表示中间件,并使用res.locals传递参数。请参阅:http://expressjs.com/en/guide/using-middleware.html
在这种情况下,应用程序中需要一个按顺序调用中间件的路由:
app.use("/testUrl", consB.verify, cansA.doSomething);那么consB.js就是这样的:
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);
}发布于 2016-11-24 12:43:30
文件- conB.js
module.exports.verify = function(req,res,next){
}文件- conA.js //此处您希望使用从conB.js导出的对象
所以,如果两个文件都在同一个文件夹中,那么您可以这样做,否则您必须使用相对路径。
var conB = require('./conB.js') https://stackoverflow.com/questions/40786349
复制相似问题