doT stub for Express 3.x with caching and layout support

npm install express3-dot
4 downloads in the last week
16 downloads in the last month


doT stub for Express 3.x with caching and layout support. This an edited version with patial loading support.


Install original repository

$ npm install express-dot

or you can use my fork on github

$ npm install

Warnning not tested yet



// load express doT
var doT = require('express-dot');

// (optional) set globals any thing you want to be exposed by this in {{= }} and in def {{# }}
doT.setGlobals({ ... });

// setup rendering

app.configure(function() {


  // set views folder
  app.set('views', __dirname + '/views');

  // doT engine
  app.set('view engine', 'dot' );
  app.engine('dot', doT.__express );



app.get('/', function(req, res){
  // you need to have in views folder
  res.render('index', { });


You can set up parts of rendering

   '...', // current body template will be passed to layout template as {{=it.body}} 

       // cache should be set to true in production enviroment.
       cache : false,
       // null - default behavior (will look for [viewDir]/ file; 
       // boolean - makes doT render without layout file, 
       // string path - looks for *.dot file to use for layout  
       layout : false,
       // any other data which you want to be exposed for the template by {{=it.<myParam>}}

   function(err, str_template){
       // callback


Globals are exposed as {{#def}} and {{= this}}. So anything you want to use globaly should be exposed.


   // set any function or property to be exposed in template

   // global configuration
   // default is false, set true in production enviroment to cache partials 
   partialCache : false, 

   // reserved functionality will throw error if globals have 
   // load is reserved for partial loading. {{#def.load('/patials/')}} it will load partial template from
   // __dirname + file path
   load : function(path ){ ... }
npm loves you