在 Express 中使用模板引擎
需要在应用中进行如下设置才能让Express渲染模板文件:
views,放模板文件的目录,比如:app.set('views','./views')
viewengine,模板引擎,比如:app.set('viewengine','jade')
然后安装相应的模板引擎npm软件包。
$npminstalljade--save
和Express兼容的模板引擎,比如Jade,通过res.render()调用其导出方法__express(filePath,options,callback)渲染模板。
有一些模板引擎不遵循这种约定,Consolidate.js能将Node中所有流行的模板引擎映射为这种约定,这样就可以和Express无缝衔接。
一旦viewengine设置成功,就不需要显式指定引擎,或者在应用中加载模板引擎模块,Express已经在内部加载,如下所示。
app.set('viewengine','jade');
在views目录下生成名为index.jade的Jade模板文件,内容如下:
html head title!=title body h1!=message
然后创建一个路由渲染index.jade文件。如果没有设置viewengine,您需要指明视图文件的后缀,否则就会遗漏它。
app.get('/',function(req,res){ res.render('index',{title:'Hey',message:'Hellothere!'}); });
此时向主页发送请求,“index.jade”会被渲染为HTML。