Skip to content
This repository has been archived by the owner on Apr 11, 2018. It is now read-only.

Latest commit

 

History

History
34 lines (22 loc) · 1.06 KB

express.md

File metadata and controls

34 lines (22 loc) · 1.06 KB

Using Swig in Express for View Rendering

Swig is compatible with Express! It's very easy to set up your Express-based node project to use Swig as its template renderer. Here's how:

Require express, Swig, and create the express server.

var express = require('express'),
    swig = require('swig'),
    app = express.createServer();

Register Swig as the template renderer.

app.register('.html', swig);
app.set('view engine', 'html');

Set up your views directory.

swig.init({
    root: '/path/to/views/directory/',
    allowErrors: true // allows errors to be thrown and caught by express
});
app.set('views', '/path/to/views/directory/');

Important! Don't allow express to automatically pipe your template into a layout.html file. Setting this to false allows you to properly use {% extends %} and {% block %} tags!

app.set('view options', { layout: false });

Render your index.html page!

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