Express:如何要求Node JS中的文件表达并向其传递参数值?

时间:2018-07-01 08:12:04

标签: node.js express module require

此问题与How to require a file in node.js and pass an argument in the request method, but not to the module? -- Question.

有很大关系

我有一个节点js Express应用程序。访客访问 http://localhost/getPosts 时,主节点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服务器)进行多个连接。这就是为什么我尝试在主页中添加连接代码的原因。 如何在代码的注释区域获取myDatabase变量?

1 个答案:

答案 0 :(得分:0)

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

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

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

    return router;
};