【问题标题】:Get updated file in each request nodejs在每个请求nodejs中获取更新的文件
【发布时间】:2015-02-03 16:04:58
【问题描述】:

基本上,我编写了一个服务器,它向发出请求的用户响应一个 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 中进行一些修改。然后提出请求,它仍然会返回我的旧代码。谁能解释一下以及如何解决这个问题?谢谢

【问题讨论】:

    标签: javascript node.js express


    【解决方案1】:

    您不应该使用 require 来加载文件,因为它不是它的目的,它会缓存加载的文件(有关更多信息,请参阅this post),这就是每次发出请求时都会获得相同内容的原因. 请改用concat-files 之类的工具,或者如果您愿意,也可以“手动”连接它。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-11-10
        • 2018-06-02
        • 1970-01-01
        • 2021-09-27
        • 2018-06-07
        • 2013-05-12
        • 2020-03-24
        • 2017-09-02
        相关资源
        最近更新 更多