Javascript 在express js中从数据库全局访问配置
我正在使用expressjs,出于某种原因,我想在数据库中存储项目配置变量。从数据库中访问配置变量的最佳方法是什么,这样我就不需要在加载的每个路由器上查询数据库了Javascript 在express js中从数据库全局访问配置,javascript,node.js,mongodb,express,Javascript,Node.js,Mongodb,Express,我正在使用expressjs,出于某种原因,我想在数据库中存储项目配置变量。从数据库中访问配置变量的最佳方法是什么,这样我就不需要在加载的每个路由器上查询数据库了 我应该使用app.locals吗 为此,我不直接导出“路由器”,而是导出一个接受参数的函数,该参数将接收配置。下面是一个例子: // router.js module.exports = function(database) { return { getLogin: function(req, res) { /
我应该使用app.locals吗 为此,我不直接导出“路由器”,而是导出一个接受参数的函数,该参数将接收配置。下面是一个例子:
// router.js
module.exports = function(database) {
return {
getLogin: function(req, res) {
// database exist here
}
}
}
// app.js without the creation of app and database
var app = express();
var database = require('./database');
var router = require('./router')(database)
app.get('/login', getLogin);
通过这种方式,您可以轻松地与数据库进行模块化交互。为此,我不直接导出“路由器”,而是导出一个接受参数的函数,该参数将接收配置。下面是一个例子:
// router.js
module.exports = function(database) {
return {
getLogin: function(req, res) {
// database exist here
}
}
}
// app.js without the creation of app and database
var app = express();
var database = require('./database');
var router = require('./router')(database)
app.get('/login', getLogin);
通过这种方式,您可以实现模块化,并且可以轻松地与数据库交互。您是否考虑创建一个名为
confi.json
的文件,其中包含配置信息并导入app.js
?此文件可能是配置的数据库。我的配置存储在数据库中。json能够查询数据库吗?如何查询数据库(mongoose、sequelize等)以及可以重新加载哪些配置?您是否考虑创建一个名为confi.json
的文件,其中包含配置信息并导入app.js
?此文件可能是配置的数据库。我的配置存储在数据库中。json能够查询数据库吗?如何查询数据库(mongoose、sequelize等)以及可以重新加载哪些配置?感谢@swatto,但这样如果我有20个路由器,我需要在每个文件中添加此功能?感谢@swatto,但这样如果我有20个路由器,我需要在每个文件中添加此功能?