es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Mejores prácticas para estructurar archivos dentro de un proyecto de node.js

Actualmente estoy tratando de adentrarme más en Node y me preguntaba sobre las “mejores prácticas” en cuanto al manejo de los archivos y carpetas específicos de npm. Específicamente, me refiero a la carpeta node_modules.

El proyecto que tengo en mente tiene los siguientes aspectos:

  • API REST (Node / Express)
  • Front-End (Vue / Gatsby)
  • Robots (tareas automatizadas, js, trabajos cron)
  • App (Flutter), no configurado con Node
  • Documentación (md), no configurada con Node

Es probable que 3 de los 5 componentes utilicen en algún momento los node_modules. Configurar los 3 en carpetas separadas es un desperdicio de espacio en disco, ya que comparten bastantes paquetes de npm.

¿Cómo deberían configurarse estos componentes?

Estaba pensando en una estructura de carpetas como esta:

carpeta del proyecto
|
├── README.md
├── node_modules
├── package.json
├── archivos ocultos (.gitignore, ...)
|
└── módulos
    ├── docs
    ├── api
    ├── app
    ├── robots
    └── web

Digamos que comienzo con el componente api utilizando Express. ¿Tiene sentido trasladar la carpeta node_modules a la estructura de archivos superior? ¿Funcionaría esto incluso?

Si lo hace, ¿debería dejar los componentes “app” y “docs” en la estructura, aunque no utilicen ningún node_modules?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Generalmente se considera una mejor práctica mantener la carpeta node_modules en el nivel raíz del directorio del proyecto, en lugar de tener versiones separadas en cada subdirectorio. Esto ayuda a mantener la consistencia y evita la duplicación de paquetes, ahorrando así espacio en disco.

    En la estructura de carpetas propuesta, sería una buena idea mantener la carpeta node_modules en el nivel raíz y tener subdirectorios separados para cada componente (api, app, robots, web).

    Si empiezas con el componente api utilizando express, puedes dejar la carpeta node_modules en el directorio raíz e instalar simplemente los paquetes necesarios para el componente api utilizando npm install nombre_paquete --save o npm install (si ya has enumerado los paquetes en package.json).

    Puedes dejar los subdirectorios app y docs en la estructura, aunque no utilicen ningún node_modules. Esto ayuda a mantener la consistencia en la estructura del directorio del proyecto y facilita la adición de componentes que sí utilizan node_modules en el futuro.

Comments are closed.