Answer the question
In order to leave comments, you need to log in
Why are my blocks not connected to layout (Jade)?
Hello,
I can't find the reason why my blocks are not showing up when rendering the page.
Here's how I connect them:
layout:
doctype html
html
head
title
link(rel='stylesheet', href='/stylesheets/style.css')
link(rel='stylesheet', href='//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css')
script(src="https://code.jquery.com/jquery-2.1.4.min.js")
script(src="//code.jquery.com/ui/1.11.4/jquery-ui.js")
body
block header
block content
block foot
extends layout
block content
h1 Hello on Index page
extends layout
block header
h2 Hello from Header block
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var routes = require('./routes/index');
var foot = require('./routes/foot');
var header = require('./routes/header');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', routes);
app.use('/foot', foot);
app.use('/header', header);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
var err = new Error('Not Found');
err.status = 404;
next(err);
});
// error handlers
// development error handler
// will print stacktrace
if (app.get('env') === 'development') {
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
});
}
// production error handler
// no stacktraces leaked to user
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: {}
});
});
module.exports = app;
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index');
});
module.exports = router;
Answer the question
In order to leave comments, you need to log in
layout:
doctype html
html
head
title
link(rel='stylesheet', href='/stylesheets/style.css')
link(rel='stylesheet', href='//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css')
script(src="https://code.jquery.com/jquery-2.1.4.min.js")
script(src="//code.jquery.com/ui/1.11.4/jquery-ui.js")
body
block header
block content
block foot
extends layout
block header
include header
block content
h1 Hello on Index page
h2 Hello from Header block
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question