簡體   English   中英

Node.js:通過 module.exports 在模塊之間共享變量

[英]Node.js : sharing variables between modules via module.exports

我有一個變量,我想在模塊之間共享它並添加到它,從中刪除並在 Node.js 程序中修改它,這是我所做的:

shared_storage.js

var locations = {};
locations['Brandenburg Gate'] = {latitude: 52.516272, longitude: 13.377722};
locations['Dortmund U-Tower'] = {latitude: 51.515, longitude: 7.453619};

module.exports = locations;


var state = new Object();   // Create the object
state.ready = "r";
state.offline = "o";
state.loaded = "l";


var location_stats = {};

location_stats ['Brandenburg Gate'] = state.ready;
location_stats ['Dortmund U-Tower'] = state.loaded;

module.exports = location_stats ;

我的模塊.js

var spots= require('./shared_storage').locations;
console.log(spots);

但結果是:

不明確的

我添加到shared_storage.js變量的項目在shared_storage.js

更改var spots= require('./shared_storage').locations;

對此

var spots= require('./shared_storage')

原因是您將對象導出為模塊,因此您不需要訪問模塊屬性,因為它沒有任何自己的屬性:)

現在已經解決了,您需要重新考慮您的實現。 通過另一個模塊在模塊之間共享狀態很簡單但並不好。 有幾個原因:

  1. 服務器崩潰/重啟
  2. 多實例服務
  3. 這是一種骯臟的方法(內存泄漏、難以抽象等)

更好和最簡單的方法是將它們存儲在數據庫中

暫無
暫無

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

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