[Edit]
An issue is discussed here:
https://github.com/linkedin/dustjs/commit/e5ebff0f7b32f8ff0883be7f7924507b314eef1d
In [/node_modules/]consolidate/lib/consolidate.js
go to exports.dust.render
function:
...
try {
var tmpl = cache(options) || cache(options, engine.compileFn(str));
tmpl(options, fn);
} catch (err) {
fn(err);
}
...
engine.compileFn
is called sending str
as parameter, str
is actually the template itself:
Title: {title}
engine.compileFn
is compiler.compile(source, name)
in [/node_modules/]dustjs-linkedin/lib/compiler.js
.
source
is template sent, however name
which is the template name and should be index
in our case, is never set (undefined).
Alternatively, I prefer to use Payapl's Adaro library for express 3.x
and linkedin-dustjs
. It's part of their project kraken.js, but can be used as a standalone dust wrapper for express:
https://github.com/paypal/adaro
As mentioned in README.md:
var express = require('express');
var dustjs = require('adaro');
var app = express();
app.engine('dust', dustjs.dust({});
app.set('view engine', 'dust');
// For rendering precompiled templates:
// app.engine('js', dustjs.js({ ... ));
// app.set('view engine', 'js');