1
我一直在使用socket.io構建一個簡單的基於Node/Express的聊天客戶端,並且在添加依賴項與使用閉包將依賴項傳遞給組件的導入方式之間存在一些混淆。Node.js體系結構和應用程序結構
這裏是應用程序是如何構成的:
- index.js
- 服務器/ server.js(創建Express實例)
- 服務器/控制器/(包含需要socketIO客戶端控制器)
- 服務器/ store.js(創建Redis的實例)
- 服務器/ websocket.js(創建socket.io實例/返回一個自定義的API)
創建一個socketIO客戶端需要一個express.Server實例。 但是,我仍然需要在Express服務器的控制器中使用socketIO客戶端API(發送/廣播更新)。 因此,套接字客戶端由index.js作爲承諾輸出,在解析時用於設置控制器以進行快速處理。
問: 什麼是掛鉤組件的好辦法,其中
- 組件A需要組件B.
- 組分B中的一些方法的一個實例,將需要組件A. 的一個實例(這裏SocketIO需要Express實例,但我還需要一個正在使用的快遞在控制器SocketIO客戶端)
的實際代碼: https://github.com/vsr4493/chatbox
我投票結束這個問題作爲題外話題,因爲它是關於代碼審查。 –