Soy nuevo en el desarrollo de JS y me preguntaba, dado que el tamaño de los módulos de nodo es un tema de preocupación en el que uno tiene que seguir eliminando la carpeta cuando muchos proyectos se acumulan y no se usan, ¿por qué no podemos tener un global? carpeta de módulos de nodo, como m2 para maven y luego hacer referencia a ella en nuestros proyectos?
¿Por qué necesitamos múltiples carpetas de módulos de nodo dentro de cada proyecto?
Puede instalar paquetes globalmente y usarlos con el indicador -g cuando use npm install .
Pero esto no se hace con frecuencia, y con frecuencia no se recomienda, porque el mismo paquete puede tener muchas, muchas versiones diferentes. SomeLibrary versión 5.6.1 puede ser significativamente diferente de SomeLibrary versión 5.7.1. Si tiene varios proyectos, muy a menudo tendrán diferentes dependencias y diferentes versiones de dependencia. Si intenta obtenerlos todos desde la misma instalación global, por lo general se encontrará con problemas muy rápidamente. Tener una carpeta node_modules separada para cada proyecto resuelve este problema por ti; a menudo, el control de versiones del paquete para cada proyecto que tenga "simplemente funcionará" sin ninguna configuración adicional.
También hay administradores como Yarn que pueden almacenar en caché las descargas de paquetes, por lo que no vuelve a descargar grandes cantidades de megabytes duplicados en múltiples proyectos.
Variedad de razones. Solo para su información, puede instalar paquetes npm globalmente usando el indicador -g al instalar.
Aquí hay algunas razones:
dado que java script no está compilado, necesitaremos tener todos los complementos en cada implementación, versos maven está compilado para que podamos compilarlo en código de máquina con el complemento instalado globalmente