码迷,mamicode.com
首页 > 其他好文 > 详细

为 Express 开发模板引擎

时间:2017-11-22 21:58:59      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:路径   简单的   定义   UI   file   注册   自己的   callback   res   

为 Express 开发模板引擎
通过 app.engine(ext, callback) 方法即可创建一个你自己的模板引擎。其中,ext 指的是文件扩展名、callback 是模板引擎的主函数,接受文件路径、参数对象和回调函数作为其参数。

下面的代码演示的是一个非常简单的能够渲染 “.ntl” 文件的模板引擎。

var fs = require(‘fs‘); // 此模板引擎依赖 fs 模块
app.engine(‘ntl‘, function (filePath, options, callback) { // 定义模板引擎
fs.readFile(filePath, function (err, content) {
if (err) return callback(new Error(err));
// 这是一个功能极其简单的模板引擎
var rendered = content.toString().replace(‘#title#‘, ‘‘+ options.title +‘‘)
.replace(‘#message#‘, ‘

‘+ options.message +‘

‘);
return callback(null, rendered);
})
});
app.set(‘views‘, ‘./views‘); // 指定视图所在的位置
app.set(‘view engine‘, ‘ntl‘); // 注册模板引擎
现在 “.ntl” 文件就可以被正确地渲染了。接下来在 views 目录下创建一个名为 “index.ntl” 的模板文件,文件内容如下:

title

message

然后,按下面的示例创建一下路由:

app.get(‘/‘, function (req, res) {
res.render(‘index‘, { title: ‘Hey‘, message: ‘Hello there!‘});
})
访问网站首页就能看到由 “index.ntl” 文件渲染出来的 HTML 页面了。

为 Express 开发模板引擎

标签:路径   简单的   定义   UI   file   注册   自己的   callback   res   

原文地址:http://www.cnblogs.com/zgqdbxb/p/7881069.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!