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ó.
Esto no está actualizado: la respuesta correcta para 3x, 4x es
La segunda respuesta aquí: renderizar vista básica en HTML?
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í:
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''));