У меня есть следующий код для реализации nodejs a rest api.
app.jsПередача параметров module.exports в nodejs
var connection = require('./database_connector');
connection.initalized(); //guys connection is i want to pass a connection varible to the model
var peson_model = require('./models/person_model')(connection); //this not working
var app = express();
app.use(bodyparser.urlencoded({extended: true}));
app.use(bodyparser.json());
app.get('/persons/', function(req, res) {
person_model.get(res); // retrive get results
});
// .............express port and listen
person_model.js
класс модели, который должен извлекать на основе глагола HTTP. Например, person.get
извлекает следующее и в настоящее время имеет единственный метод, как показано ниже.
function Person(connection) {
this.get = function (res) {
connection.acquire(function(err, con) {
con.query('select * from person limit 3', function(err, result) {
con.release();
console.log("get called");
res.send(result);
});
});
};
}
// ** I want to pass a connection variable to the model
module.exports = new Person(connection);
В вышеуказанном коде var peson_model = require('./models/person_model')(connection);
не работает.
Как передать переменную соединения и экспортировать модуль?
Есть ли какие-либо средства, чтобы я мог передавать соединение, неявное, не явное значение, а не передавать его по всем моделям каждый раз, когда я хочу, чтобы оно было широко распространенным. за один раз созданный. Я очень благодарен за ответ – danielad
Как вы отправляете правильное сообщение об ошибке, если пользователь забывает включать (соединение) при выдаче запроса ('./ lib.js')? Я попытался поставить «if connection === undefined then throw» в функции, как вы уже выше, и бросок не выполняется ... – PeterT