template serve programacion plantillas node jade engines node.js express pug

serve - Node.js+Express sin usar Jade



programacion pug (6)

¿Es posible usar Express sin ningún motor de plantilla?


En tu archivo principal:

app.get(''/'', function(req, res){ res.render(''index''); });

Su archivo index.jade solo debe contener:

include index.html

donde index.html es el HTML sin formato que usted creó.



Para cualquiera que tenga la necesidad de usar inmediatamente HTML normal sin jade en un nuevo proyecto express, puede hacerlo.

Agregue un index.html a la carpeta de vistas.

En el cambio de app.js

app.get(''/'', routes.index);

a

app.get(''/'', function(req, res) { res.sendfile("views/index.html"); });

ACTUALIZAR

Use esto en su lugar. Vea la sección de comentarios a continuación para obtener una explicación.

app.get(''/'', function(req, res) { res.sendFile(__dirname + "/views/index.html"); });


Puede servir archivos estáticos automáticamente con Express de esta manera:

// define static files somewhere on top app.use(express[''static''](__dirname + ''/your_subdir_with_html_files''));

En realidad, esto debería ser express.static (...) pero pasar la versión anterior de JSLint también funciona;)

Luego, inicia el servidor y escucha, por ejemplo, en el puerto 1337:

// app listens on this port app.listen(1337);

Express ahora sirve archivos estáticos en / your_subdir_with_html_files automáticamente así:

http://localhost:1337/index.html

http://localhost:1337/otherpage.html


Sí,

app.get(''/'', function(req, res){ res.render(''index.html''); });

debería funcionar


ACTUALIZADO

Algunos pueden tener dudas de que sendFile solo proporcione almacenamiento en caché del lado del cliente. Hay varias maneras de tener el caché del lado del servidor y mantener la línea con la pregunta del OP: uno también puede enviar el texto con el send :

res.send(cache.get(key));

A continuación se encuentra la respuesta original de hace más de 3 años:

Para cualquiera que busque una respuesta alternativa a PavingWays, también se puede hacer:

app.get(''/'', function(req, res) { res.sendFile(''path/to/index.html''); });

Sin necesidad de escribir:

app.use(express[''static''](__dirname + ''/public''));