Los documentos de Pug dicen que puede transformarse
doctype html html(lang="en") head title= pageTitle script(type='text/javascript'). if (foo) bar(1 + 5) body h1 Pug - node template engine #container.col if youAreUsingPug p You are amazing else p Get on it! p. Pug is a terse and simple templating language with a strong focus on performance and powerful features.
a
<!DOCTYPE html> <html lang="en"> <head> <title>Pug</title> <script type="text/javascript"> if (foo) bar(1 + 5) </script> </head> <body> <h1>Pug - node template engine</h1> <div id="container" class="col"> <p>You are amazing</p> <p>Pug is a terse and simple templating language with a strong focus on performance and powerful features.</p> </div> </body> </html>
Pero observe que en el HTML resultante hay un archivo de script dentro. Eso no es lo que quiero. ¿No puedo generar un resultado HTML de modo que el script también se evalúe? Por ejemplo, si hay una lógica de manipulación de DOM dentro, el resultado HTML debería reflejar eso en lugar de mostrar la etiqueta del script.
Pug se representa del lado del servidor; no hay DOM mientras se compila Pug. Si desea realizar la manipulación de DOM después de que Pug compila pero antes de que el HTML compilado se envíe desde el servidor al cliente, deberá canalizarlo a través de un emulador de DOM del lado del servidor como JSDom . Pug no hará eso por sí solo, no es para lo que está destinado.