¿Cuáles son algunos de los paquetes Node.js más útiles?

La sección Paquetes más destacados en npm es un buen punto de partida (números = estrellas):

express Marco web rápido, no opinado y minimalista – 482
asíncrono Funciones de orden superior y patrones comunes para código asíncrono – 280
gruñir El corredor de tareas de JavaScript – 236
request Cliente de solicitud HTTP simplificado. – 219
servidor de framework en tiempo real socket.io node.js – 206
lodash Una biblioteca de utilidades que ofrece consistencia, personalización, rendimiento y extras. – 205
trago El sistema de compilación de transmisión – 170
marco de prueba moca simple, flexible y divertido – 164
mangosta mangosta MongoDB ODM – 151
subrayar la biblioteca auxiliar de programación funcional de JavaScript. – 146
marco del servidor HTTP hapi – 116
commander la solución completa para los programas de línea de comandos de node.js – 111
motor de plantilla jade Jade – 102
browserify del lado del navegador requiere () la forma de nodo – 101
redis biblioteca cliente Redis – 100
los colores obtienen colores en su consola node.js como qué – 89
momento Analiza, manipula y muestra fechas. – 87
coffee-script Unfancy JavaScript – 80
connect Marco de middleware de alto rendimiento – 80
pasaporte Autenticación simple y discreta para Node.js. – 75
nodemailer Fácil de enviar por correo electrónico desde sus aplicaciones Node.js – 74
q Una biblioteca para promesas (CommonJS / Promises / A, B, D) – 69
bower El gestor de paquetes del navegador – 67
navega por un marco impulsado por API para crear aplicaciones en tiempo real, utilizando convenciones MVC (basadas en Express y Socket.IO) – 64
cheerio Implementación pequeña, rápida y elegante de Core jQuery diseñado específicamente para el servidor – 62
Opción optimista Ligero análisis con un hash argv. No hay cadenas opcionales adjuntas. – 62
Herramienta de análisis estático jshint para JavaScript – 61
mongodb Un controlador node.js para MongoDB – 60
uglify-js JavaScript parser, mangler / compressor and beautifier toolkit – 60
tiza Estilo de cuerda terminal hecho a la derecha. Creado porque el módulo `colors` hace algunas cosas realmente horribles. – 58
mysql Un controlador node.js para mysql. Está escrito en JavaScript, no requiere compilación y tiene licencia 100% MIT. – 57
nodemon Script de monitor simple para usar durante el desarrollo de una aplicación node.js. – 57
stylus Superconjunto CSS robusto, expresivo y rico en funciones – 56
mkdirp Recursivamente mkdir, como `mkdir -p` – 54
validación Validación de cadenas y desinfección – 53
grunt-contrib-watch Ejecuta tareas predefinidas cada vez que se agregan, cambian o eliminan patrones de archivos observados. – 49
utilidad de depuración pequeña depuración – 48
winston Una biblioteca de registro asíncrono de transporte múltiple para Node.js – 47
forever Una herramienta CLI simple para garantizar que un script de nodo dado se ejecute continuamente (es decir, forever) – 44
formidable Un módulo node.js para analizar datos de formularios, especialmente cargas de archivos. – 44
nodo-inspector Web Inspector basado en el depurador nodeJS – 44
Marco de la aplicación web koa Koa – 43
grunt-cli La interfaz de línea de comandos de grunt. – 42
marcado un analizador de rebajas construido para la velocidad – 42
npm Un administrador de paquetes para el nodo – 42
bcrypt Una biblioteca bcrypt para NodeJS. – 41
Comandos shell shelljs Portable Unix para Node.js – 41
glob un poco globber – 40
Biblioteca de aserción chai BDD / TDD para node.js y el navegador. Marco de prueba agnóstico. – 39
Bluebird Promesas completas / Implementación A + con un rendimiento excepcionalmente bueno – 37
grunt-contrib-uglify Minify archivos con UglifyJS. – 37
menos CSS Leaner – 34
opciones de argumento de análisis minimista – 34
Nodo-uuido Implementación rigurosa de RFC4122 (v1 y v4) UUID. – 34
mediante contsruction de flujo simplificado – 33
grunt-contrib-jshint Validar archivos con JSHint. – 32
mime Una biblioteca completa para mapeo tipo mime – 32
debería probar las afirmaciones agnósticas de estilo BDD del marco – 32
gm GraphicsMagick e ImageMagick para node.js – 31
gulp-uglify Minify archivos con UglifyJS. – 31
restify marco REST – 31
backbone Dé a su aplicación JS algo de Backbone con modelos, vistas, colecciones y eventos. – 30
pm2 Administrador de procesos de CLI moderno para aplicaciones Node con un equilibrador de carga incorporado – 30
event-stream construir tuberías de flujos de eventos – 29
n administrador de versiones de nodo – 29
xml2js Conversor simple de objetos XML a JavaScript. – 28
plantillas JavaScript integradas ejs – 27
ws simple de usar, cliente websocket, servidor y consola extremadamente rápidos y probados a fondo para node.js, actualizado con RFC-6455 – 27
grunt-contrib-cssmin Comprime archivos CSS. – 26
http-server un servidor http de línea de comandos simple de configuración cero – 26
inquirer Una colección de interfaces de usuario de línea de comandos interactivas comunes. – 26
jsdom Una implementación de JavaScript de los estándares DOM y HTML – 26
gulp-concat Concatena archivos – 25
http-proxy HTTP proxy para las masas – 25
pg Cliente PostgreSQL – javascript puro y libpq con la misma API – 25
secuenciar ORM de dialecto múltiple para Node.JS – 25
herramienta CLI para ejecutar generadores Yeoman – 25
bearcat un marco de aplicación basado en POJOs para node.js – 24
grunt-contrib-copy Copia archivos y carpetas. – 24
Estambul Otra herramienta de cobertura de código JS que calcula la declaración, la línea, la función y la cobertura de rama con ganchos del cargador de módulos para agregar cobertura de forma transparente al ejecutar pruebas. Admite todos los casos de uso de cobertura JS, incluidas las pruebas unitarias, las pruebas funcionales del lado del servidor – 24
grunt-contrib-clean Limpia archivos y carpetas. – 23
manillares Los manillares brindan la potencia necesaria para permitirle construir plantillas semánticas de manera efectiva sin frustración – 23
levelup Almacenamiento rápido y simple – un contenedor LevelDB estilo Node.js – 23
nconf Hierarchical node.js configuración con archivos, variables de entorno, argumentos de línea de comandos y fusión de objetos atómicos. – 23
Navegador / nodo HTTP elegante y rico en funciones con una API fluida – 23
bunyan una biblioteca de registro JSON para servicios node.js – 22
Grunt-contrib-concat Concatenar archivos. – 22
minimatch a glob matcher en javascript – 22
npm-check-updates Encuentra nuevas versiones de dependencias de las que permite tu package.json – 22
yeoman La CLI de Yeoman está en desuso. Vea la página en yeoman.io para más información. – 22
infraestructura de análisis de esprima ECMAScript para análisis multipropósito – 21
Biblioteca JavaScript jquery para operaciones DOM – 21
markdown Un analizador sensible de Markdown para javascript – 21
phantomjs Headless WebKit con JS API – 21
Supertest Biblioteca dirigida por superagentes para probar servidores HTTP – 21
analizador CSV CSV con una API simple, llena de opciones y probada en grandes conjuntos de datos. – 20
grunt-contrib-imagemin Minify images – 20
rimraf Un módulo de eliminación profunda para el nodo (como `rm -rf`) – 20
toque Una biblioteca de protocolo de prueba de cualquier cosa – 20
bondad de control de flujo asíncrono cogenerador – 19

Yo diría “Cheerio”, ya que trae el poder de jQuery a Node.js. Es increíblemente rápido, bastante flexible y su sintaxis familiar ciertamente lo coloca en la categoría de uno de los paquetes Node.js más útiles. Se puede encontrar más información en cheeriojs / cheerio

Los paquetes de Nodejs a menudo se usan juntos y en grupos, también es frecuente que haya dos o más soluciones competitivas para cada tarea. Estos son algunos paquetes de módulos que he usado:
Paquete expreso

No enumero todos los paquetes instalados cuando andamia una aplicación usando express-generator.

  1. generador expreso
  2. sesión express
  3. pasaportes
  4. casco
  5. multer
  6. consolidar
  7. bcrypt-nodejs

Paquete de prueba

Aquí hay algunas herramientas que me dicen que instale cada vez que leo un blog / veo una charla o un screencast.

  1. moca
  2. chai
  3. sinon
  4. sinon-chai
  5. chai-como-prometió
  6. superagente (para burlarse de llamadas urgentes)

Paquete de base de datos

MongoDB gobierna el gallinero, probablemente porque ha estado allí por más tiempo, tiene buena documentación y soporte para varios idiomas y su estilo de consulta SQL como. CouchDB está habilitado para HTTP y cualquier código es solo un contenedor.

  1. mangosta
  2. secuenciar
  3. bookshelf y knex.js (esto parece no tener Mongoose como la configuración de Schema, aún tratando de resolver esto)

Solicitar paquete

  1. solicitud
  2. superagente
  3. solicitud-promesa
  4. aguja

Hay 2 soluciones competitivas para el registro de alto nivel:

  1. bunyan
  2. winston

nodemailer es la solución de correo electrónico que funciona con varios proveedores.
Luego están estos paquetes para el desarrollo multiplataforma

  1. cordova (para desarrollo web híbrido)
  2. preconstruido por electrones (para el desarrollo de aplicaciones de escritorio)

Hay varias soluciones para las promesas, pero las reglas de bluebird y rsvp.

Hay varias herramientas frontend:

1. browserify

2. paquete web

3. jspm

Hay varios corredores de tareas que envuelven otras herramientas más pequeñas, los dos más populares son:

1. gruñido (salió antes, mucha repetitiva)

2. trago (construido más tarde, mucho código)

Por supuesto, el ganador, por su gran utilidad es siempre, sin excepción, es:
lodash

ACTUALIZACIÓN

También me he encontrado con otra biblioteca que parece estar cortando los marcos frontend y las abstracciones, se está volviendo conocida por ser simple y poderosa, es redux .

Un excelente transpilador que nos permite usar el javascript del futuro ahora: babel

Además, un par de excelentes paquetes que he escuchado son muy buenos para prevenir el infierno de devolución de llamadas:

  1. azulejo
  2. co

Estos son los 50 paquetes principales de NPM (complementos excluidos), clasificados por el número de proyectos de código abierto de GitHub que dependen de ellos (tomado de npm-graph.com):

  1. gruñido – 986k proyectos
  2. express – 795k proyectos
  3. mocha – 665k proyectos
  4. trago – 648k proyectos
  5. lodash – 382k proyectos
  6. karma – proyectos 360k
  7. analizador de cuerpo – 346k proyectos
  8. chai – 324k proyectos
  9. solicitud – 281k proyectos
  10. asíncrono – 267k proyectos
  11. bower – 236k proyectos
  12. subrayado – 230k proyectos
  13. babel-core – 227k proyectos
  14. webpack – 223k proyectos
  15. reaccionar – 219k proyectos
  16. eslint – 211k proyectos
  17. uglify-js – 207k proyectos
  18. browserify – 202k proyectos
  19. morgan – 200k proyectos
  20. jquery – 196k proyectos
  21. jade – 196k proyectos
  22. depuración – 187k proyectos
  23. sinon – 186k ​​proyectos
  24. glob – 186k ​​proyectos
  25. mangosta – 179k proyectos
  26. babel-loader – 177k proyectos
  27. analizador de cookies – 174k proyectos
  28. debería – 173k proyectos
  29. gulp-sass – 172k proyectos
  30. del – 170k proyectos
  31. socket.io – 168k proyectos
  32. coffee-script – 160k proyectos
  33. jshint – 160k proyectos
  34. ejs – 154k proyectos
  35. momento – 153k proyectos
  36. grunt-karma – 152k proyectos
  37. semver – 147k proyectos
  38. shelljs – 147k proyectos
  39. estambul – 144k proyectos
  40. rimraf – 143k proyectos
  41. q – 136k proyectos
  42. mkdirp – 133k proyectos
  43. react-dom – 132k proyectos
  44. cobertura de karma – 127k proyectos
  45. browser-sync – 126k proyectos
  46. secuencia de ejecución – 124k proyectos
  47. serve-favicon – 120k proyectos
  48. css-loader – 113k proyectos
  49. supertest – 111k proyectos
  50. tiza – 111k proyectos

El paquete Node.js más útil

Npm

un administrador de paquetes para javascript

Gulp.js

sistema de compilación para desarrollador web

  • Automatización : gulp es un conjunto de herramientas que lo ayuda a automatizar tareas dolorosas o que requieren mucho tiempo en su flujo de trabajo de desarrollo.
  • Independiente de la plataforma : las integraciones están integradas en todos los IDE principales y las personas están usando Gulp con PHP, .NET, Node.js, Java y otras plataformas.
  • Ecosistema fuerte : use módulos npm para hacer lo que quiera + más de 2000 complementos seleccionados para la transformación de archivos de transmisión
  • Simple : al proporcionar solo una superficie API mínima, gulp es fácil de aprender y fácil de usar

Mysql

Un controlador node.js para mysql. Está escrito en JavaScript, no requiere compilación y tiene licencia 100% MIT.

Cenador

un administrador de paquetes del navegador

Gruñido

El JavaScript Task Runner

G ulp-autoprefixer

Prefijo CSS

Córdoba

Herramienta de interfaz de línea de comandos de Cordova

Gracias por el A2A.

Voy a argumentar en contra de las masas que dicen “express, mocha, chai, etc.” y en su lugar te recomendaré que busques en Koa [1] (en lugar de Express) y AVA [2] (en lugar de Mocha).
Para las aserciones de prueba, use Expect.js [3] o Should.js [4] (totalmente a preferencia), o solo las que vienen incluidas en AVA, y por supuesto para HTTP usaría la Solicitud de Afirmación [5] que viene con solicitudes y aserciones HTTP, basadas en request-promise.
Finalmente, para forzar un estilo de codificación y linting buenos y consistentes (evitando errores obvios), te recomendaré XO [6]. Por defecto, está muy cerca del JavaScript estándar [7], aparte de cosas como punto y coma (que desactivo, personalmente no me gustan)

Notas al pie

[1] framework web de próxima generación para node.js

[2] avajs / ava

[3] Automático / expect.js

[4] shouldjs / should.js

[5] PlasmaPower / solicitud de aserción

[6] sindresorhus / xo

[7] feross / estándar

aquí están los que me parecen más útiles


exprimir
moca
asíncrono
eventos (módulo principal)
cluster (módulo central)
_ guion bajo
solicitud
mangosta
redis
eslint (gran herramienta de codificación de código)
zmq (para mensajes p2p y pubsub)
colores
inspector de nodos (impresionante herramienta de depuración)


por último, si bien no menos importante

npm (npm en sí mismo es el mejor módulo npm, uno de los mejores administradores de paquetes / dependencias)

Aquí hay un número que uso una y otra vez:

asíncrono
q
Restler
Socket.IO
exprimir
gruñido
pasaporte
jade
mangosta
demasiado ocupado
guion bajo
i18siguiente
momento
hundimiento

Node.js es una plataforma del lado del servidor, construida en el tiempo de ejecución JavaScript de Google Chrome, que ayuda a construir aplicaciones de red escalables de manera rápida y eficiente. Como Node.js utiliza un modelo de E / S sin bloqueo controlado por eventos, es perfecto para aplicaciones en tiempo real con uso intensivo de datos que se ejecutan en dispositivos distribuidos.

Visite nuestro blog para obtener más información sobre cómo agregar proxy a los paquetes npm y Node.js

Sugeriría revisar Awesome Node.js. Es una lista curada de bibliotecas Node.js ordenadas por popularidad. Además, puede encontrar metadatos adicionales como actividad de desarrollo y comparar las diferentes bibliotecas.

Hay una lista que se ha mantenido durante mucho tiempo en sindresorhus / awesome-nodejs

Consulte http://nmotw.in su actualización semanal de los mejores módulos.

mocha es los módulos más populares de acuerdo con los módulos populares: módulos Node.JS.

El único paquete que agregaría a las excelentes sugerencias de todos los demás es node-cron: ncb000gt / node-cron.

He probado otros paquetes de nodos para trabajos cron y obtuve resultados erráticos. Este es, con mucho, el más fácil de implementar y hasta ahora muy confiable. Su documentación es excelente y no necesita más explicaciones para implementar. Lo único malo es que se basa en la devolución de llamadas, en lugar de en las promesas, pero es lo suficientemente simple como para que no sea un problema.

Un paquete bastante nuevo que también está disponible para Node.js es CloudRail. Facilita las integraciones de API (por ejemplo, Dropbox, Facebook, Stripe) al proporcionar capas de abstracción para múltiples categorías y manejar los cambios de API.