Solución:
-
los
app.locals
object es un objeto JavaScript y sus propiedades son variables locales dentro de la aplicación.app.locals.title // => 'My App' app.locals.email // => '[email protected]'
Una vez establecido, el valor de
app.locals
las propiedades persisten durante toda la vida útil de la aplicación -
En contraste con
res.locals
propiedades que son válidas solo durante la vigencia de la solicitud. Cuando maneja la ruta donde tiene unres
objeto, no tendrá un objeto de aplicación allí y viceversa paraapp.locals
. -
Puede acceder a las variables locales en las plantillas representadas dentro de la aplicación. Esto es útil para proporcionar funciones de ayuda a las plantillas, así como datos a nivel de la aplicación. Los locales están disponibles en middleware a través de
req.app.locals
(ver req.app)app.locals.title="My App"; app.locals.strftime = require('strftime'); app.locals.email="[email protected]";
Una foto de Node.js In Action
libro como se muestra a continuación, describa la diferencia de app.local
y res.local
De documentación expresa.
Aquí en resumen.
app.locals
los app.locals
object es un objeto JavaScript y sus propiedades son variables locales dentro de la aplicación.
Esto significa que puede declarar una variable en su app.js
con locals
y acceda a él dentro de ese script o páselo al response object
.
res.locals
Con esto, puede configurar o enviar variables a la vista / html del lado del cliente y solo está disponible en esa vista / html.
p.ej
app.get('/view', function(req, res) {
res.locals.user = req.user;
});
Aquí el user
La variable está disponible en su página html solicitando la view
ruta.
req.app.locals
Los locales están disponibles en middleware a través de req.app.locals
;