res.render () Locales Ubicación en Frontend

Probablemente sea una pregunta estúpida, pero en Express, cuando define variables locales en res.render(view, {variable: variable}) , ¿cómo se accede a ellas en la interfaz? ¿Dónde se guardan? Cuando trato de acceder a una variable que he definido a través de este método con console.log(variable) Firebug produce un error que dice que la variable no está definida. También probé console.log(window.variable) , con resultados similares. Entonces, ¿dónde se guardan estas variables?

Además, ¿se res.locals variables res.locals en el mismo lugar o simplemente se descartan? Estas variables son accesibles para los motores de plantillas como swig y jade , pero tampoco pude encontrarlas utilizando console.log() .

Estas variables no se pasan automáticamente al código del lado del cliente; Como dices, están disponibles para codificar en tus plantillas de vista. De manera similar, las variables definidas en res.locals (o app.locals , que tienen la misma API) estarán disponibles como variables locales en cualquier vista.

Si desea que estén disponibles para el código del lado del cliente, tendrá que enviarlos manualmente como parte de la respuesta, en una forma accesible para el JavaScript del lado del cliente. Por ejemplo, podría escribirlos en una etiqueta , como se hace aquí: Acceso a las variables locales de Express.js en JavaScript del lado del cliente .

Estas variables se utilizan para representar la vista solo en el lado del servidor. Obviamente, algunos de estos valores se introducen en el HTML de la respuesta del lado del servidor, pero es probable que desee ver un módulo como sharify si desea serializarlos a JSON, incrustarlos en una etiqueta en el HTML, y Accede a ellos en el código javascript del navegador.