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

Get updated file in each request nodejs

基本上,我编写了一个服务器来向发出请求的用户响应一个 js 文件(对象格式)。 js文件由两个配置文件生成。我称他们为 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 中进行一些修改。然后提出请求,它仍然会 return 给我旧代码。任何人都可以解释以及如何解决这个问题吗?谢谢

您不应该使用 require 来加载文件,因为这不是它的目的,它会缓存加载的文件(有关详细信息,请参阅 this post),这就是您每次获得相同内容的原因你提出要求。 请改用 concat-files 之类的工具,或者根据需要将其连接 "by hand"。

连接文件和扩展对象不是等同的操作。您可以通过 'fs' 模块读取文件、解析对象、扩展和发送。