Diferencia entre flash, connect-flash y express-flash.

Todavía estoy un poco confundido sobre cuál es exactamente la diferencia entre flash, connect-flash y Express-flash.

Instalación:

  • flash npm install flash

  • Express-flash : npm install express-flash

  • connect-flash : npm install connect-flash

Uso:

flash :

 app.use(session()); // session middleware app.use(require('flash')()); app.use(function (req, res) { // flash a message req.flash('info', 'hello!'); next(); }) 

conectar flash

 var flash = require('connect-flash'); var app = express(); app.configure(function() { app.use(express.cookieParser('keyboard cat')); app.use(express.session({ cookie: { maxAge: 60000 }})); app.use(flash()); }); 

Express-flash Incluso solicita que el uso se configure de la misma manera que conectaría-flash :

 var flash = require('express-flash'), express = require('express'), app = express(); app.use(express.cookieParser('keyboard cat')); app.use(express.session({ cookie: { maxAge: 60000 }})); app.use(flash()); 

¿Alguien por favor puede explicar?

Realmente no hay una diferencia drástica entre los tres paquetes. Todos logran lo mismo a su manera. La diferencia entre los tres son:

  1. flash está escrito por el equipo de Express, lo que lo convierte en un middleware oficial para Express.
  2. Connect-Flash como se indica en el README :

Este middleware fue extraído de Express 2.x

Entonces, en cierto sentido, esto es similar a flash, excepto una versión heredada de Express 2.x días. Sin embargo, el nombre sugiere que fue diseñado para el marco de Connect , pero generalmente cualquier paquete de conexión funciona bien con Express.

  1. Express-Flash es solo una envoltura alrededor de Connect-Flash . Puedes ver eso en el código fuente aquí .

De los tres, connect-flash parece ser el más utilizado a juzgar por las estadísticas de npm.