Create a gist now

Instantly share code, notes, and snippets.

@clineamb /app.js
Last active Nov 9, 2016

[DEPRECIATED] Nunjucks 1.0.7 + Express 4.9.2
/*
* Nunjucks + Express
* I couldn't find anything that helped me setup the enviornment
* correctly for these in the latest vesion of Express 4 (at the time
* of writing this).
*
* This Gist for those that want to keep using Nunjucks with Express 4.
* This also goes over working with a Nunjucks environment to use custom
* filters, extensions, etc.
*
* You view files should have ".nunjucks" as the extension.
*
* - Caroline, 9/18/2014
*
*/
var express = require('express');
var nunjucks = require('nunjucks');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
var env = nunjucks.configure(app.get('views'), {
autoescape: true,
express: app
});
// Example filter setup - remote link assets
env.addFilter('asset', function(assetpath) {
var asset_url = "/path/to/assets"; // can be a path, or an absolute web URL
return asset_url + assetpath;
});
app.set('view engine', 'nunjucks');
// Express App setup as per usual.
@pepoviola

Good snippet! I also use this two lines to change the extension of the templates files.

app.engine('nunj', nunjucks.render);
app.set('view engine', 'nunj');

Thx!

@Jakehp
Jakehp commented Jul 11, 2015
var env = nunjucks.configure(app.get('views'), {
    autoescape: false, //if passing React components during render
    express:    app 
});
@fourpixels

It's the same with Webstorm 9.0.1 - had to download older extention (139.58), but turned out to work great after installation! :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment