参考:http://alistapart.com/article/node-at-work-a-walkthrough
express不直接支持dot模板引擎,npm提供了一个兼容插件consolidate
1 var express = require('express'); 2 var http = require('http'); 3 var path = require('path'); 4 var favicon = require('static-favicon'); 5 var logger = require('morgan'); 6 var cookieParser = require('cookie-parser'); 7 var bodyParser = require('body-parser'); 8 var dot = require('dot'); 9 //consolidate 为express提供兼容其他模版引擎的方法 10 var consolidate = require('consolidate'); 11 12 var routes = require('./routes'); 13 var users = require('./routes/user'); 14 15 var app = express(); 16 17 // view engine setup 18 //var dots = dot.process({ path: "./views"}); 19 //console.log(dots); 20 //dots.template({foo: "Hello World!"}); 21 22 app.set('views', path.join(__dirname, 'views')); 23 24 app.engine('dot', consolidate.dot); 25 app.set('view engine', 'dot'); 26 //app.set('views', path.join(__dirname, 'views')); 27 //app.set('view engine', 'jade'); 28 console.log(app);
views下的模板后缀是.dot
在routes/index.js里render要输出的数据:
exports.index = function(req, res){ res.render('index', { title: 'Express' }); };
index.dot输出变量:
<div>{{=it.title}}</div>
这个it是express的还是doT的?验证下
一定要使用express的iterator来输出