Intento averiguar qué hace este código:
const app = express(); app.use((req, res, next) => { res.locals.path = req.path; next(); });res.locals se usa normalmente para mostrar variables del middleware a un motor de plantilla que se usa para representar la página con res.render() en un controlador de solicitud posterior (más adelante en la cadena del controlador de solicitud). Puedes leer el documento aquí .
Entonces, este middleware en particular hace que req.path esté disponible para el motor de plantillas (al poner ese valor en res.locals.path para que pueda usarse para representar la página como solo una path (no estoy seguro de qué quiere hacer la plantilla con el camino - eso depende de él).
Tenga en cuenta que la ruta real que llama a res.render() puede pasar datos directamente al motor de plantilla como un argumento para res.render() , pero esto no lo puede hacer el middleware porque el middleware en sí no llama a res.render() , por lo que su alternativa es colocar los datos en res.locals donde el motor de plantillas puede recogerlos desde allí.
res.locals comienza cada solicitud como vacía, por lo que no contiene nada hasta que su middleware o los controladores de solicitudes coloquen algo en él con el fin de representar una página para esa solicitud específica.