Recientemente comencé a jugar con node.js.
Ahora, cada tutorial de nodo por ahí establece que debe comenzar con
npm init
y luego, digamos que desea un marco de servidor estándar, digamos que elige express:
npm install express
pero entonces querrás muchas más cosas a las que estás acostumbrado en mundos como ASP.NET.
Hablo de motores de plantillas (jade) y preprocesadores de hojas de estilo (SASS).
Y luego te dicen "¡instala gulp / grunt! ¡Para que puedas minificar y uglify y ejecutar el servidor y tantas otras cosas automáticamente!"
Y eso significa instalar gulp, node-sass, y gulp-sass y gulp-uglify, y tal vez algunas cosas más geniales (tsd o babel, markdown, etc.) ...
Pero todos esos son pesados en su disco y proyecto. No busque un momento y puede encontrarse fácilmente con un tamaño de disco de 100 MB + para ese proyecto (¡que aún no ha comenzado!) Sin mencionar más de 10000 archivos ya que cada módulo de nodo tiene sus propias dependencias, sin importar lo mismo La dependencia es utilizada por otro módulo. Y esto es algo muy difícil de mover a cualquier parte, y mucho menos a un servidor web.
¿Me estoy perdiendo de algo? No creo que sea posible que se elogie tanto el entorno del nodo mientras exista una falla tan clara. ¿Espero demasiado (después de todo, intenté usar muchas herramientas a la vez), ¿hay algo trivial conocido por los veteranos de Node para evitar esto?
fuente
Respuestas:
El reciente problema del panel izquierdo es un excelente ejemplo del problema con esta tendencia en Node. Cuando depende de demasiadas cosas, todas son propensas a convertirse en ka-pow, hacer que su proyecto sea más difícil de depurar y, para un recién llegado, más difícil de comprender el funcionamiento del lenguaje.
Ahora los buenos programadores de Node.js saben escribir aplicaciones minimalistas, en lo que respecta a las dependencias. Cuantas menos cosas dependas, mejor. ¿Necesita acolchar las cuerdas a la izquierda? Codifíquelo en un ayudante, son 11 líneas de código con los espacios en blanco. ¿Necesita numerar sus filas de cuerdas? Codifíquelo, tiene menos de 100 líneas de código.
Incluso para tareas más complicadas, como la gestión de proyectos, sugeriría seguir con Makefiles mientras su proyecto es lo suficientemente simple: gruñir y tragar son realmente muy útiles para proyectos gigantes que tienen mucho trabajo pesado por hacer. ¿Pero para tu blog SPA? Escriba un Makefile, toma 5 minutos y ya sabe cómo funciona.
La tentación de navegar por npm cada vez que necesita escribir 3 líneas de código es excelente, pero debe resistirse siempre que sea razonable. No incluya jQuery si tiene 3 manipulaciones DOM, no use angular para esa página de promoción estática, no use express para un servidor simplista. ¿Pero estás codificando un CMS? Tendría que estar loco para no usar paquetes como jQuery, subrayado y lo que no. ¿Trabaja con 10 tipos de colección, 3 dbs y los consulta todo el tiempo? Sería una locura no utilizar guiones bajos y algunos otros. Simplemente piense '¿Ahorro suficiente tiempo al instalar este paquete?' o '¿No puedo codificar esto durante media hora más o menos?'
fuente