我有一個關於管理npm嵌套依賴的最佳實踐的問題。npm嵌套依賴管理
讓我解釋一下我的情況,請告訴我我做錯了什麼,或者解決這個問題的最好方法是什麼。
我使用express.js和express-mongostore在nodeenv中運行應用程序。由於nodeenv,我在全局npm-everything,所以它們都在nenv/lib/node_modules文件夾下。事情是,我正在嘗試發展express.js,而express-mongostore在一段時間內沒有更新。安裝這兩個模塊後,我得到這個文件夾結構。
nodeenv/lib/node_modules/express/node_modules/connect/..
/
/connect-mongodb/node_modules/ connect/...
那麼最終發生的是我有2個不同的連接版本。
我被燒了,因爲由mongodb存儲生成的cookie和會話中間件生成的cookie不同,因爲它們指向2個不同的connect utils實現(一個調用store調用utils,另一個調用utils直接。 ,他們在需要解析期間指向不同的文件)。這裏的實際區別是他們使用不同的算法對cookie進行簽名。有一段時間,我的會話每次頁面加載都會使自己失效,花了很長時間才能調試到這個級別。
我在網上閱讀,似乎這應該是npm的方式和好東西。這裏的問題在於,由於express依賴於連接中的一些utils,connect-mongodb繼承了連接中的一些相同的類,讓它們具有不同的回購是有問題的。
我目前仍然有2個版本的連接,我修補了一個像其他。很明顯,這不是一個可持續的解決方案。在這種情況下,我應該如何繼續並處理依賴關係管理?
在此先感謝!