У меня есть вопрос о лучших методах управления вложенными зависимостями npm.
Позвольте мне объяснить мою ситуацию и, пожалуйста, скажите мне, что я делаю неправильно, или как лучше всего подойти к этому.
Я запускаю приложение с использованием express.js и express-mongostore в nodeenv. Из-за nodeenv я запускаю все глобально, поэтому все они находятся в папке nenv / lib / node_modules. Дело в том, что я пытаюсь развить передовой экспресс.js, хотя express-mongostore давно не обновлялся. После установки обоих модулей я получаю эту структуру папок.
nodeenv / lib / node_modules / express / node_modules / connect / ..
/
/ connect-mongodb / node_modules/ connect / ...
В итоге получается, что у меня есть 2 разные версии подключения.
Я сгорел, потому что cookie, сгенерированный хранилищем mongodb и сгенерированный промежуточным программным обеспечением сеанса, отличается, потому что они указывают на 2 разных реализации connect utils (один вызывает хранилище, которое вызывает utils, а другой вызывает непосредственно utils. К сожалению, они указывают на разные файлы во время требуемого разрешения). Реальная разница здесь в том, что они подписывают куки, используя разные алгоритмы. Какое-то время мои сеансы делали себя недействительными при каждой загрузке страницы, и мне потребовалось много времени для отладки до этого уровня.
Я читал в интернете, и похоже, что это должно быть способом npm и хорошей вещью. Проблема здесь заключается в том, что, поскольку express использует связку утилит в connect, а connect-mongodb наследует некоторые из тех же классов в connect, проблематично иметь разные репозитории.
В настоящее время у меня все еще есть 2 версии подключения, и я исправил одну, чтобы быть похожей на другую. Очевидно, что это не устойчивое решение. Как мне поступить и подойти к управлению зависимостями в этом случае?
Заранее спасибо!