Nodejs和Express

时间:2015-12-06 21:05:43

标签: javascript node.js express middleware

我正在使用带有expressjs的NodeJs,我想使用一个中间件,它会在每个请求之前从动态配置文件中读取一个变量(一些js文件包含一个可以在服务器运行时手动更改的对象)。 我想存储一个标志,它将关闭所有请求(即发送响应而不进入下一个路由),直到我将变量值更改为true,然后中间件将调用next(),以便所有路由都能正常工作。 我更愿意避免关闭服务器,我也不想将这个变量存储在数据库中......

是否有类似我需要的东西?

由于

2 个答案:

答案 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)

检查主管:https://github.com/petruisfan/node-supervisor

它会监视文件更改和崩溃,并且每次都会重新启动您的应用程序。

你会得到更好的表现。