Express: как запросить файл в узле js express и передать ему значение параметра? - PullRequest
0 голосов
/ 01 июля 2018

Этот вопрос имеет большое отношение к Как запросить файл в файле node.js и передать аргумент в методе запроса, но не в модуль? - Вопрос.

У меня есть приложение js Express для узла. когда посетитель посещает http://localhost/getPosts, файл js основного узла требует файл . / routs / 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 голосов
/ 01 июля 2018

Вы должны экспортировать функцию, которая возвращает маршрутизатор, например:

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

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

    return router;
};
...