我使用的是带有expressjs的NodeJs,我想使用一个中间件,在每次请求之前从动态配置文件中读取一个变量(一些js文件包含一个对象,我可以在服务器运行时手动更改该对象)。我想存储一个标志,它将关闭所有请求(即发送响应而不继续到下一个路由),直到我将变量值更改为true,然后中间件将调用next(),以便所有路由都能工作。我宁愿避免为此关闭服务器,也不想将此变量存储在数据库中。。。
有类似于我需要的东西吗?
感谢
如果您只是把config.json文件放在函数中,您每次都会读取它。如果您将使用require('config.json),那么您将在启动时只读取此文件一次。
var fs = require("fs");
function (req,res,next) {
var config = fs.readFileSync('./config.json');
config = JSON.parse(config.toString());
if (config.registrationStatus === "open") {
next();
} else {
res.send("registration closed");
}
}
检查主管:https://github.com/petruisfan/node-supervisor
它将监视文件更改和崩溃,每次都会重新启动您的应用程序。
你会得到更好的表现。