这个问题与this非常相关。
在我的模块中,我使用以下内容:
const express = require('express'),
router = express.Router();
...
module.exports = router;
我需要访问app.js文件中的对象。像const routes = require(./routes/route.js)(data)
之类的东西。
我尝试过的事情
module.exports = router(data)
,但是路由器对象中未定义req
。
在需要后在app.js中创建route
的实例。但这会导致相同的错误消息。 (就像这样:
var route = new Route();
route.data = data
module.exports = router(data){
// all routes
};
其他信息
我通常在app.js中使用这样的路由
const route = require('route.js');
app.use(route);
答案 0 :(得分:1)
我不确定我是否理解您的问题,但是如果您想将数据传递给需要的模块,则可以执行以下操作:
const express = require('express'),
router = express.Router();
module.exports = function(data) {
// do stuff with data
router.get('/', (req, res) => res.send(data))
return router;
}
// and then in app.js
const router = require('router.js')(/* pass data to router*/);
app.use(router)