`

Express 自定义模板引擎

阅读更多

使用"app.engine(ext,callback)"方法,可以创建自定义的模板引擎."ext"是模板文件的扩展名,"callback"是模板引擎方法,参数为本地文件路径,选项对象,和一个回调函数.

 

下面是一个非常简单的模板引擎实现,用于渲染后缀为".ntl"的文件:

var fs = require('fs'); // this engine requires the fs module
app.engine('ntl', function (filePath, options, callback) { // define the template engine
  fs.readFile(filePath, function (err, content) {
    if (err) return callback(new Error(err));
    // this is an extremely simple template engine
    var rendered = content.toString().replace('#title#', '<title>'+ options.title +'</title>')
    .replace('#message#', '<h1>'+ options.message +'</h1>');
    return callback(null, rendered);
  })
});
app.set('views', './views'); // specify the views directory
app.set('view engine', 'ntl'); // register the template engine

 现在你的程序能渲染后缀为".ntl"的文件了.在模板文件夹中创建一个名为"index.ntl"文件,内容如下:

#title#
#message#

 然后,创建如下路由:

app.get('/', function (req, res) {
  res.render('index', { title: 'Hey', message: 'Hello there!'});
})

 现在,访问首页,"index.ntl"文件将被渲染为html文件显示.

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    expressvueExpressjs的Vue渲染引擎

    express-vue:Express.js的Vue渲染引擎。使用.Vue文件作为模板使用res.render()。

    express-view:合成视图的 Express 视图类

    通常, express和一些特定的视图引擎可以在服务器端完成编译和渲染模板的工作,但是express-view跨度支持使用编译为 javascript 的模板,这些模板已经通过文件系统抽象在内存中提供locator组件。用法 var express =...

    engine-less:整合样式的引擎,用于呈现.less文件。 可以与汇编,动词,表达或任何其他支持合并样式引擎的应用程序一起使用

    :express.js启发的模板引擎管理器。 | :基于整合的模板引擎库,具有快速,同步的呈现。 | :使用任何引擎渲染模板。 支持,布局,页面,局部和自定义模板类型。 使用模板…| 谓词:GitHub项目的文档生成器。 ...

    Wolf Express 1.25 网页设计应用

    Wolf Express支持构建移动设备友好的单页布局,例如登录页面和独立页面。 与macOS High Sierra(10.13),Sierra(10.12),El Capitan(10.11)和Yosemite(10.10)兼容。 特点 移动友好 网页字体 响应式部分...

    RosterApp-hbs:RosterApp(转换为 Fullstack 应用程序)仅使用 id 号创建自定义人脸名册

    这个版本是一个“全栈”实现,它在服务器端使用 nodeJS 和 Express,数据库使用 MongoDB,前端模板引擎使用 Handlebars。 入门 这些说明将为您提供一份项目副本,并在您的本地机器上运行,用于开发和测试目的。 ...

    nodequiz:旨在在组织内部运行的 kickass 测验应用程序 - 用户可以每天注册并参加测验。 还具有用于添加问题的成熟管理界面

    使用模板引擎而不是默认的jade 。 (那是因为我来自 Django)。 为所有电子邮件通信精心设计的响应式模板,感谢 。 大量有趣的反欺诈措施。 部署 确保首先安装了以下软件包。 一旦安装了这些基本包,部署时间! ...

    homework

    网络服务器静态+模板引擎自定义(日期为12/12/2020)&gt;&gt;常见问题的解决方法 假API服务器&gt;&gt;服务器特快地将其删除,并在列表中发布和删除评论 sqlite3-_test &gt;&gt;服务器快速连接数据库,在后fornendo用户e pwd中登录 ...

    lorem-pigsum:Pig Latin lorem ipsum生成器

    引擎盖下 应用技术和学习技能 Node.js和Express EJS模板 SCSS样式 移动优先设计 自定义API调用 概括 在这个项目中,我使用Express处理GET和POST路由,并使用EJS脚本动态呈现结果。 该应用程序根据用户输入创建...

    ourbotourmehnat

    特征自定义前缀主页服务器选择页面设置编辑页面使用ejs模板引擎动态渲染ping命令设置在本地克隆此存储库。 git clone https://github.com/royal2934/ourbotourmehnat.git将_config.js重命名为config.js 。 填写所需...

    ASP.NET.4揭秘

    第25章 使用asp.net的url路由引擎876 25.1 url路由介绍876 25.2 基础url路由方案877 25.2.1 映射基础url877 25.2.2 映射包含参数的url878 25.2.3 映射包含多个段的url879 25.2.4 通过路由链接到其他页面879 25.3 ...

    ASP3《高级编程》(第一部分)

    10.3.5 自定义处理器 323 10.4 记录集分页 326 10.4.1 利用ASP页面分页记录集 327 10.4.2 利用ADO分页 330 10.4.3 利用SQL Server完成记录集分页 333 10.4.4 数据分页小结 336 10.5 使用数据库中的图像 337 ...

    ASP3《高级编程》(第二部分)

    10.3.5 自定义处理器 323 10.4 记录集分页 326 10.4.1 利用ASP页面分页记录集 327 10.4.2 利用ADO分页 330 10.4.3 利用SQL Server完成记录集分页 333 10.4.4 数据分页小结 336 10.5 使用数据库中的图像 337 ...

Global site tag (gtag.js) - Google Analytics