请原谅我,如果这是一个完全愚蠢的问题,但我无法弄明白。
我正在使用Express框架在Node.js中编写应用程序。我有一个URI映射,旨在分析一些Twitter数据,以便在某些聚合单元中对给定主题的情绪进行分析,并将包含这些结果的GeoJSON对象返回给客户端。
以下是有关数据的一些细节。
require
调用加载。这些点稍后将用于在Leaflet地图中制作标记。mongodb
驱动程序访问。这是改变这些GeoJSON点的过程
require
marker.properties.class
设置为分类所以这是我的问题,我用require
加载的GeoJSON永远不会改变。
通过调用require
来加载数据是否可变?如果没有,是否有一种简单的方法可以使它变得可变,我的意思是比copying the object更简单?
当Node服务器与Express框架一起运行时,有谁知道为什么console.log()
不起作用?我发誓以前做过。
答案 0 :(得分:2)
可以从缓存中删除模块。你只需要这样做:
delete require.cache[moduleName];
无论如何,这不是最佳方法。
导出构造函数并在需要时实例化新对象要好得多。例如:
//in geo.js
function Geo() {...}
module.exports = Geo;
//in another module
var Geo = require('./geo.js');
var geo = new Geo();