微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Express中使用模板引擎

在express中设置模板引擎。

定义模板引擎

var express = require('express');
var app = express();

app.set('views','./app/views'); // 设置views的认路径
app.set('view engine','ejs');   // 设置引擎扩展名
app.engine('.ejs',require('ejs').__express); // 注册ejs模板引擎

以上方法可以注册指定的ejs模板引擎。

当然,如果你想使用html后缀的文件,可以做以下修改,这样就可以支持了。

app.engine('.html',require('ejs').__express);
app.set('view engine','html');

添加变量

我们可以使用app对象的locals属性添加,比如:

app.locals.name = 'App';
app.locals.age = 13;

这些变量会在render模板的时候填充到页面中去。

渲染模板并显示

我们可以使用render方法来渲染页面,对应的api是,

app.render(view,[locals],callback)

view: 模板文件

[locals]: 一个locals对象(即在app.locals中定义的locals对象)

callback: 回调函数,在模板呈现后执行。第一个参数,err错误对象,第二个参数是 html,即呈现后的模板字符串。

1.直接调用app对象的render方法

app.get('/',function(req,res) {
    res.render('index');
});

当然,前面的locals,也可以通过render的第二个参数直接传入。

2.利用render的回调方法

app.get('/',res) {
    res.render('index',function(err,html) {
        res.send(html);
    });
});

同样的,像以下这样直接传入也是可以的。

app.render('/',{ name: 'aaa' },html){    // ...});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐