基本上,我写了一个服务器,它向发出请求的用户响应js文件(对象格式)。 js文件由两个配置文件生成。我称之为 config1.js 和 config2.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 中进行一些修改。然后发出请求,它仍然会返回旧代码。任何人都可以解释和如何解决这个问题?感谢
答案 0 :(得分:2)
您不应该使用require来加载文件,因为它不是它的目的,它会缓存加载的文件(有关详细信息,请参阅this post),这就是为什么每次制作时都会获得相同的内容一个要求。 使用像concat-files这样的工具,或者手工连接""如果你愿意的话。
答案 1 :(得分:1)
Concat文件和扩展对象不等于操作。您可以通过'fs'模块读取文件,解析对象,扩展和发送。