¿Qué es Express.js? [cerrado]

Resuelto vinod asked hace 11 años • 10 respuestas

Soy un estudiante en Node.js.

  1. ¿Qué es Express.js ?
  2. ¿Cuál es el propósito de Node.js?
  3. ¿Por qué realmente necesitamos Express.js? ¿Qué utilidad tiene para nosotros utilizar Node.js?
  4. ¿ Qué es Redis ? ¿Viene con Express.js?
vinod avatar Sep 27 '12 14:09 vinod
Aceptado

1) ¿Qué es Express.js?

Express.js es un marco de Node.js. Es el marco más popular hasta el momento (el más destacado en NPM).

Ingrese la descripción de la imagen aquí.

Se basa en la configuración y la simplicidad granular del middleware Connect. Algunas personas comparan Express.js con Ruby Sinatra versus el voluminoso y obstinado Ruby on Rails .

2) ¿Cuál es el propósito de Node.js?

Que no tengas que repetir el mismo código una y otra vez. Node.js es un mecanismo de E/S de bajo nivel que tiene un módulo HTTP. Si solo usa un módulo HTTP, será necesario volver a implementar una gran cantidad de trabajo, como analizar la carga útil, las cookies, almacenar sesiones (en la memoria o en Redis ) y seleccionar el patrón de ruta correcto basado en expresiones regulares . Con Express.js, está ahí para que lo utilices.

3) ¿Por qué realmente necesitamos Express.js? ¿Qué utilidad tiene para nosotros utilizar Node.js?

La primera respuesta debería responder a tu pregunta. En caso negativo, intente escribir un pequeño servidor API REST en Node.js simple (es decir, usando solo módulos principales) y luego en Express.js. Este último le llevará entre 5 y 10 veces menos tiempo y líneas de código.

¿Qué es Redis? ¿Viene con Express.js?

Redis es un almacenamiento rápido y persistente de valores clave. Opcionalmente, puede usarlo para almacenar sesiones con Express.js, pero no es necesario. De forma predeterminada, Express.js tiene almacenamiento de memoria para sesiones. Redis también se puede utilizar para poner en cola trabajos, por ejemplo, trabajos de correo electrónico.

Consulte mi tutorial sobre el servidor API REST con Express.js .

MVC pero no por sí solo

Express.js no es un marco de modelo-vista-controlador en sí mismo. Debe incorporar sus propias bibliotecas de mapeo relacional de objetos, como Mongoose para MongoDB, Sequelize ( http://sequelizejs.com ) para bases de datos SQL, Waterline ( https://github.com/balderdashy/waterline ) para muchas bases de datos. pila.

Alternativas

Otros marcos de Node.js a considerar ( https://www.quora.com/Node-js/Which-Node-js-framework-is-best-for-building-a-RESTful-API ):

ACTUALIZACIÓN: Reuní este recurso que ayuda a las personas a elegir los marcos Node.js: http://nodeframework.com

ACTUALIZACIÓN 2: Agregamos algunas estadísticas de GitHub a nodeframework.com para que ahora pueda comparar el nivel de prueba social (estrellas de GitHub) para más de 30 marcos en una sola página.

ingrese la descripción de la imagen aquí

Completa pila:

  • http://sailsjs.org

  • http://derbyjs.com/

Solo API REST:

  • http://mcavage.github.io/node-restify/

Ruby on Rails como:

  • http://railwayjs.com/

  • http://geddyjs.org/

Sinatra como:

  • http://expressjs.com/

Otro:

  • http://flatironjs.org/

  • https://github.com/isaacs/npm-www

  • http://frisbyjs.com/

Medio software:

  • http://www.senchalabs.org/connect/

Generadores de sitios estáticos:

  • http://docpad.org

  • https://github.com/jnordberg/wintersmith

  • http://blacksmith.jit.su/

  • https://github.com/felixge/node-romulus

  • https://github.com/caolan/petrify

Azat avatar Jul 07 '2013 17:07 Azat

Esto es simplificarlo demasiado, pero Express.js es para Node.js lo que Ruby on Rails o Sinatra son para Ruby .

Express 3.x es un marco de aplicación web liviano para ayudar a organizar su aplicación web en una arquitectura MVC en el lado del servidor. Puede utilizar una variedad de opciones para su lenguaje de plantillas (como EJS , Jade y Dust.js ).

Luego puede usar una base de datos como MongoDB con Mongoose (para modelar) para proporcionar un backend para su aplicación Node.js. Básicamente, Express.js lo ayuda a administrar todo, desde rutas hasta el manejo de solicitudes y vistas.

Redis es un almacén de claves/valores, comúnmente utilizado para sesiones y almacenamiento en caché en aplicaciones Node.js. Puedes hacer mucho más con él, pero para eso lo estoy usando. Utilizo MongoDB para relaciones más complejas, como relaciones de línea de pedido <-> orden <-> usuario. Hay módulos (sobre todo connect-redis) que funcionarán con Express.js. Deberá instalar la base de datos Redis en su servidor.

Aquí hay un enlace a la guía Express 3.x: https://expressjs.com/en/3x/api.html

chovy avatar Sep 27 '2012 07:09 chovy
  1. ¿Qué es Express.js?

Express.js es un marco de servidor de aplicaciones web Node.js, diseñado para crear aplicaciones web híbridas, de una sola página y de varias páginas. Es el marco de servidor estándar de facto para node.js.

Marcos construidos en Express.

Varios marcos populares de Node.js se basan en Express:

LoopBack: marco Node.js de código abierto y altamente extensible para crear rápidamente API REST dinámicas de un extremo a otro.

Sails: marco MVC para Node.js para crear aplicaciones prácticas y listas para producción.

Kraken: capa segura y escalable que amplía Express proporcionando estructura y convención.

MEDIA: Marco de trabajo completo de JavaScript que simplifica y acelera el desarrollo de aplicaciones web.

  1. ¿Cuál es el propósito de Node.js?
  2. ¿Por qué realmente necesitamos Express.js? ¿Qué utilidad tiene para nosotros utilizar Node.js?

Express agrega enrutamiento muy simple y soporte para el middleware Connect, lo que permite muchas extensiones y funciones útiles.

Por ejemplo,

  • ¿Quieres sesiones? Está allá
  • ¿Quiere analizar el cuerpo POST/cadena de consulta? Está allá
  • ¿Quieres crear plantillas sencillas a través de jade, bigote, ejs, etc.? Está allá
  • ¿Quiere un manejo elegante de errores que no provoque que todo el servidor falle?
Muhammad Shahzad avatar Apr 12 '2016 11:04 Muhammad Shahzad
  1. Express.js es un marco web modular para Node.js
  2. Se utiliza para facilitar la creación de aplicaciones y servicios web.
  3. Express.js simplifica el desarrollo y facilita la escritura de aplicaciones seguras, modulares y rápidas. Puede hacer todo eso en el antiguo Node.js, pero pueden surgir (y aparecerán) algunos errores, incluidos problemas de seguridad (por ejemplo, no escapar de una cadena correctamente)
  4. Redis es un sistema de base de datos en memoria conocido por su rápido rendimiento. No, pero puedes usarlo con Express.js usando un cliente redis.

No podría ser más conciso que esto. Para todas sus demás necesidades e información, Google es su amigo.

mzdv avatar Apr 30 '2015 21:04 mzdv