我正在使用多個模塊開展NodeJS中的家庭自動化項目。這些模塊需要訪問中心DeviceManager
內的數據設備。通常我會爲此創建一個單例,以便所有模塊都可以訪問DeviceManager
的相同狀態。在NodeJS中的模塊之間共享數據
要創建一個單獨使用:
class DevicesManagerInstance {
constructor() {
this.devices = {};
}
addDevice(id, device) {
this.devices.id = device;
}
}
let DevicesManagerInstance = new DevicesManager();
module.exports = DevicesManagerInstance;
我發現一些老問題,關於單身,並回答共享數據,但仍不滿足,如果它是共享數據刪除方式的NodeJS的問題:
- https://derickbailey.com/2016/03/09/creating-a-true-singleton-in-node-js-with-es6-symbols/
- Singleton pattern in nodejs - is it needed?
- NodeJS: Sharing Application State Between Modules
但也讀單身人士是一種反模式。有人可以澄清什麼是在模塊之間共享數據的「NodeJS」方式(在我的情況下是設備)。在Angular中,我將爲此創建一項服務。
DevicesManager是否與其他一切相同? – sparrow
是的,事情是,我有很多模塊都需要訪問相同的設備數據。 –
那麼你有什麼是完全好的!祝你好運:) – sparrow