在每个请求nodejs中获取更新的文件

基本上,我写了一个服务器,回应一个JS文件(对象格式)的用户提出请求。 js文件是由两个configuration文件生成的。 我把它们称为config1.jsconfig2.js

这是我的代码:

var express = require('express'); var app = express(); var _ = require('underscore'); app.use('/config.js', function (req, res) { var config1 = require('config1'); var config2 = require('config2'); var config = _.extend(config1, config2); res.set({'Content-Type': 'application/javascript'}); res.send(JSON.stringify(config)); }); 

对于我所理解的,每当我向/config.js发出请求时,即使在启动服务器之后,它也会在config1和config2文件中获取最新的代码。 但是,如果我启动服务器,请在config1.js中进行一些修改。 然后发出请求,它仍然会返回我的旧代码。 任何人都可以解释和如何解决? 谢谢

Concat文件和扩展对象不是等同的操作。 您可以通过“fs”模块读取文件,parsing对象,扩展和发送。

你不应该使用require来加载你的文件,因为这不是它的目的,它会caching加载的文件(请参阅这篇文章以获取更多信息),这就是为什么你每次提出请求都会得到相同的内容。 使用concat-files这样的工具,或者如果你愿意的话,可以用“手工”连接。