Sé un enfoque que me ha dado los mejores resultados, incluso con angular (para sustituir ruta angular/ng-view)
en primer lugar será necesario instalar express-diseño:
npm install --save express-layout
Después de eso, se expresa y buscar archivos dentro de ti layout.jade r vistas/ carpeta. Por lo tanto, en el interior de la que se puede utilizar:
vistas/layout.jade
html
head
meta(charset='utf-8')
title= title
body
div!= body
vistas/home.jade
h1 Welcome aboard, matey!
server.js
var express = require('express'),
layout = require('express-layout');
var app = express();
app.get('/', function(req, res) {
res.render('home', {
title: 'Welcome!'
});
Por defecto Express buscar layout.jade en sus puntos de vista /carpeta, pero se puede cambiar el valor predeterminado, mediante el uso de (sí, no es necesario escribir .jade extensión):
app.set('layout', 'default');
Después de eso express usará views/default.jade como el diseño predeterminado.
Además, si desea utilizar un diseño diferente en una página en particular, puede utilizar:
app.get('/', function(req, res) {
res.render('home', {
layout: 'login',
title: 'Welcome!'
});
Aquí expresan hará que login.jade como el diseño.
Supongo que está utilizando Jade como el motor de vista predeterminado, y no cambia la carpeta predeterminada para las vistas.
Aquí está el express-layout doc.
Estás utilizando Express, ¿verdad? – alessioalex
Sí, lo siento por no mencionarlo. Estoy usando Express. – Masiar