簡體   English   中英

Node.js中的可變變量

[英]Mutable Variables in Node.js

請原諒我這是一個完全愚蠢的問題,但我無法弄清楚。

背景資料

我正在使用Express框架在Node.js中編寫應用程序。 我有一個URI映射,旨在分析一些Twitter數據,以便在某些聚合單元中對給定主題的情緒進行分析,並將包含這些結果的GeoJSON對象返回給客戶端。

以下是有關數據的一些細節。

  • 聚合單元(美國各州)作為點存儲在GeoJSON文件中,通過require調用加載。 這些點稍后將用於在Leaflet地圖中制作標記。
  • 推文存儲在MongoDB數據庫中,使用mongodb驅動程序訪問。

這是改變這些GeoJSON點的過程

  • 使用require加載GeoJSON
  • 查詢MongoDB數據庫以獲取適當的推文
  • 迭代GeoJSON文件中的功能
    • 迭代結果集中的推文
      • 如果推文來自該功能
        • 分析內部的情緒
        • 使用情緒對要素進行分類
        • marker.properties.class設置為分類
  • 將修改后的GeoJSON寫入響應

問題

所以這是我的問題,我使用require加載的GeoJSON永遠不會改變。

通過調用加載的數據是否require可變? 如果沒有,是否有一種簡單的方法可以使它變得可變,而且我的意思是比復制對象更簡單?

獎金問題

有沒有人知道為什么當Node服務器與Express框架一起運行時, console.log()不起作用? 我發誓之前做過。

可以從緩存中刪除模塊。 你只需要這樣做:

delete require.cache[moduleName];

無論如何,這不是最好的方法。

導出構造函數並在需要時實例化新對象要好得多。 例如:

//in geo.js
function Geo() {...}
module.exports = Geo;

//in another module
var Geo = require('./geo.js');
var geo = new Geo();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM