我正在使用带有expressjs的NodeJs,我想使用一个中间件,它会在每个请求之前从动态配置文件中读取一个变量(一些js文件包含一个可以在服务器运行时手动更改的对象)。 我想存储一个标志,它将关闭所有请求(即发送响应而不进入下一个路由),直到我将变量值更改为true,然后中间件将调用next(),以便所有路由都能正常工作。 我更愿意避免关闭服务器,我也不想将这个变量存储在数据库中......
是否有类似我需要的东西?
由于
答案 0 :(得分:0)
如果你把它放在函数里面,你每次都会读取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");
}
}
答案 1 :(得分:-1)