Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Express:如何在node js Express中要求一个文件并向其传递参数值?_Node.js_Express_Module_Require - Fatal编程技术网

Node.js Express:如何在node js Express中要求一个文件并向其传递参数值?

Node.js Express:如何在node js Express中要求一个文件并向其传递参数值?,node.js,express,module,require,Node.js,Express,Module,Require,这个问题与我有很大关系 我有一个node js Express应用程序。当访问者访问时,主节点js文件需要/routes/posts文件,并向所需文件发送数据库连接 app.use('/getPosts', require('./routes/posts')(myDatabase)); ./routes/posts文件的内容如下所示: var express = require('express'); var router = express.Router(); //Do something

这个问题与我有很大关系

我有一个node js Express应用程序。当访问者访问时,主节点js文件需要/routes/posts文件,并向所需文件发送数据库连接

app.use('/getPosts', require('./routes/posts')(myDatabase));
./routes/posts文件的内容如下所示:

var express = require('express');
var router = express.Router();

//Do something with myDatabase here

router.get('/', (req, res, next) => {
    res.render('index');
});
module.exports = router;
我的网站有多个页面,也就是说,多个页面上需要数据库连接。但不可能使用同一个客户端(Node JS server)与同一数据库建立多个连接。这就是我尝试在主页中添加连接代码的原因。
如何在代码的注释区域获取myDatabase变量?

您应该导出一个返回路由器的函数,如下所示:

module.exports = dbConnection => {
    var express = require('express');
    var router = express.Router();

    router.get('/', (req, res, next) => {
        res.render('index');
    });

    return router;
};

就是这样!非常感谢你的回答,兄弟!