aui / art-template

High performance JavaScript templating engine
https://aui.github.io/art-template/
MIT License
9.86k stars 2.67k forks source link

artTemplate 支持 express3.x与4.x的具体写法是什么? #76

Closed meimaonong closed 10 years ago

meimaonong commented 10 years ago

文档写的是 app.register('.html', require('art-template')); 但是现在express3.x与4.x都不支持app.register了

wangxingkai commented 10 years ago

var template = require('art-template'); template.config('base', ''); template.config('extname', ''); app.engine('tpl', template.__express); app.set('view engine', 'tpl'); app.set('views', 'TPL ROOT PATH '));

以上可用。 两处config需要设空,是因为express传给引擎的是模板的绝对路径,不是artTemplate需要的ID。若不为空,在_node.js里readTemplate时会再次拼接出错误的ID。

呃 但是这个情况下用include嵌入子模板会不正常…

目前是自己对artTemplate包装了一层,把express传入的全路径脱掉,还原成ID。 待artTemplate处理。

aui commented 10 years ago

v3.0.1 这样使用:

var template = require('art-template');
template.config('extname', '.html');
app.engine('.html', template.__express);
app.set('view engine', 'html');
//app.set('views', __dirname + '/views');