¿Cuál sería la forma preferida de manejar módulos internos dentro de una aplicación node.js?Cómo administrar los módulos internos Node.JS
Es decir, actualmente tenemos una aplicación bastante grande y hay varias dependencias, instaladas a través de npm. Tenemos node_modules
en .gitignore
. Por lo tanto, no está en el repositorio. Usamos npm shrinkwrap
para congelar las versiones de los módulos, por lo que, al momento de la implementación, un npm install
reúne todo lo que necesitamos en node_modules
.
El problema es que, como nuestra aplicación externa está creciendo, queremos dividirla en módulos más pequeños. Ahora, si creo un módulo foo
y lo coloco en node_modues
, debo permitirlo en el repositorio, que no parece tan limpio como para tener módulos ignorados y prestados en node_modules
.
No podemos publicar estos registros en npm porque no son realmente "públicos".
¿Hay alguna solución obvia de la que no tenga conocimiento?
Acabo de pegar mis bibliotecas/módulos privados en un directorio '/ lib' bajo el proyecto en vez de' npm_modules'. De esta manera, también pueden incluirse en Git. –
Sí, es muy común tener una carpeta lib y requerir ('./ lib/myThing') –
Con la carpeta lib, necesito nombrar los módulos explícitamente cada vez que los necesito. Los necesito mucho :) De todo tipo de lugares. Realmente no me gusta 'require (" ../../../../../ lib/foo ")'. Tenerlos en módulos de nodos hace que el acceso sea mucho más fácil. –