Mam prostą aplikację węzła, która ma jedną zależność od innej aplikacji na github. Zależność instaluje się dobrze z npm install
, ale kiedy próbuję wymagać zainstalowania tam czegoś, mówi, że nie jest dostępna. Na przykład aplikacja github instaluje Mongoose jako zależność. Myślałem, że ta aplikacja rodzic będzie mógł uzyskać dostęp do tego modułu, ponieważ jest u dziecka:Wymaganie zależności od innej zależności w modułach węzłów
var mongoose = require('mongoose')
Struktura wygląda mniej więcej tak:
/app
/node_modules
/github_dependency [parent module]
/node_modules
/mongoose [child module]
mogę po prostu trzeba to mongoose postaci zależności w aplikacji nadrzędnej lub czy istnieje sposób na uzyskanie dostępu do tego modułu przez dziecko?
Dziękuję, my” Postępuj zgodnie z tą konwencją. Jedną z rzeczy, o której chciałbym wspomnieć, jest to, że teoretycznie może to doprowadzić do wielu powielonych zależności w projekcie? –
Może, a zazwyczaj będziesz miał kilka instancji kilku różnych modułów (i ich wersji) w projekcie węzła. To jedna z mocnych stron IMO, która spędziła sporą część wypracowanych przez nas "załamań" w ładowarkach klas różnych kontenerów Javy ... –
Jest bardzo dobry powód, aby korzystać z tej techniki. Jeśli potrzebujesz ("github/node_modules/mangusta"), używasz tego samego wystąpienia mangusty, którego używa github, więc udostępniasz swoją pulę połączeń. Ta technika jest również przydatna, aby upewnić się, że używasz tych samych wersji. –