node package manager


Build Status


It provide a simple Connect middleware to serve Jade without locals variables as template HTML files.

This project was created after the drop of native support for Jade in latest Express. More specifically, Express droped the compiler middleware in its versions 2 and 3 (the current versions at the time of this writing).

Read the [annoucement article][annoucement] for more information.


Using npm:

npm install connect-jade-html


Function returning a Connect middleware with the given options.


  • self Use a self namespace to hold the locals (false by default)
  • locals Local variable defaults object
  • filename Used in exceptions, and required when using includes
  • debug Outputs tokens and function body generated
  • compiler Compiler to replace jade's default
  • compileDebug When false no debug instrumentation is compiled
  • pretty Add pretty-indentation whitespace to output (false by default)

Basic example

Here we will setup the middleware with only the required src option.

var jade = require('connect-jade-html');
var connect = require('connect');
var app = connect();
  src: __dirname,
  pretty: true
app.use(connect.static(__dirname + '/public'));

Advanced example

Pass the middleware to Connect, grabbing "*.jade" files from this directory and saving .html files to ./public. Also supplying our custom compile function.

Following that we have a static() layer setup to serve the .html files generated by Jade.

var connectJadeHtml = require('connect-jade-html');
var connect = require('connect');
var app = connect();
  src: __dirname,
  dest: __dirname + '/public',
  debug: true
app.use(connect.static(__dirname + '/public'));