详解Node.js模板引擎Jade入门

详解Node.js模板引擎Jade入门

什么是模板引擎?

在使用Node.js开发Web应用时,我们需要将数据和页面内容结合,生成动态的HTML页面。模板引擎就是用来将数据和页面内容结合的工具。它可以生成HTML、XML、JSON等格式的数据,同时具有易于维护、快捷灵活、模板重用等优点。

为什么要使用模板引擎?

在服务器端动态生成网页的时候,需要对HTML文本进行字符串拼接,这样往往会产生繁琐、混乱的代码和难以维护的页面。使用模板引擎可以将业务逻辑和页面展示分离开来,对页面进行重构和更新变得十分便捷。

介绍Jade模板引擎

Jade是一个非常受欢迎、高效、功能强大的Node.js模板引擎。它基于缩进、可读性高的语法,最终将模板编译成HTML字符串,交由Node.js服务器呈现。

Jade模板引擎提供一系列的语法格式,并且与JavaScript代码非常类似,它具有括号记法、缩进等特色,在Jade模板引擎中,不需要使用闭合标签、特殊符号等,可以使模板看起来更加清晰,减少了一些不必要的冗余。

安装Jade

在终端中输入以下命令,安装Jade:

npm install jade

基本使用方法

1. 编写Jade模板

Jade模板使用缩进表示标签嵌套关系,支持括号记法和标准的HTML元素。例如下列Jade模板将转化为一个标题为“Hello, Jade”的网页。

doctype html
html
  head
    title Hello, Jade
  body
    h1 Hello, Jade

2. 编译Jade模板

使用Jade模块中的compileFile方法可以将一个Jade模板文件编译成网页文件。

var jade = require('jade');
var html = jade.compileFile('index.jade')();
console.log(html);

3. 填充数据

可以将数据作为一个对象传递给Jade渲染函数,在Jade模板中可以通过#{variable_name}来引用数据属性。

doctype html
html
  head
    title= title
  body
    h1= pageTitle
    p Welcome #{name}!
var jade = require('jade');
var template = jade.compileFile('index.jade');
var data = {title: 'Hello, Jade', pageTitle: 'Welcome to Jade!', name: 'John'};
var html = template(data);
console.log(html);

示例1

下面我们使用Jade模板引擎渲染一个用户列表的简单页面,演示默认类型的数据填充。

doctype html
html
  head
    title User List
  body
    h1 User List
    ul
      each user, index in users
        li #{index}: #{user.name} (#{user.age})
var jade = require('jade');
var users = [
  {name: 'Tom', age: 18},
  {name: 'Jerry', age: 20},
  {name: 'Mike', age: 22}
];
var template = jade.compileFile('user-list.jade');
var html = template({users: users});
console.log(html);

示例2

下面我们使用Jade模板引擎渲染一个用户列表的简单页面,演示使用filter过滤器进行数据格式化处理。具体格式化方法可以参考Jade官方文档。

doctype html
html
  head
    title User List
  body
    h1 User List
    ul
      each user, index in users
        li #{index}: #{user.name} (#{user.age|range})
var jade = require('jade');
var users = [
  {name: 'Tom', age: 18},
  {name: 'Jerry', age: 20},
  {name: 'Mike', age: 22}
];
var template = jade.compileFile('user-list.jade');
var html = template({users: users});
console.log(html);

总结

Jade模板引擎的流行,得益于其简洁明了的语法,以及出色的性能表现。熟悉了Jade的基本使用和API,你将在编写Node.js应用时,可以更便捷地对页面进行设计和生成。

参考资料

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Node.js模板引擎Jade入门 - Python技术站

(0)
上一篇 2023年6月8日
下一篇 2023年6月8日

相关文章

  • nodejs中各种加密算法的实现详解

    “Node.js中各种加密算法的实现详解”总体上是介绍Node.js中常用的加密算法,包括哈希算法、对称加密和非对称加密。此攻略旨在让读者了解各种加密算法的实现原理及如何在node.js中使用这些算法。 1. 哈希算法 哈希算法又称为散列算法,用于将任意长度的消息压缩至一个固定长度的值,告诉我们原始输入的摘要值,常见的哈希算法有MD5和SHA系列,其中SHA…

    node js 2023年6月8日
    00
  • 前端必会的nodejs知识工具模块使用示例详解

    前端必会的nodejs知识工具模块使用示例详解 什么是Node.js Node.js是一个基于Chrome V8引擎的JavaScript运行环境。Node.js使得JavaScript可以脱离浏览器在服务器端运行。它拥有丰富的API和生态系统,可以帮助我们轻松地开发Web应用程序、命令行工具和后端服务。 NPM:Node Package Manager N…

    node js 2023年6月7日
    00
  • Node.js console控制台简单用法分析

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境,可以使JavaScript获得在浏览器之外使用的能力。在Node.js中,console是一个重要的工具,可以在命令行中显示信息、错误、警告等。 常用console方法 console.log():在控制台输出信息。 console.error():输出错误信息。 console.…

    node js 2023年6月8日
    00
  • 基于JavaScript的操作系统你听说过吗?

    当谈到JavaScript的应用时,大多数人会想到网页交互和动态效果,却很少会想到操作系统。然而,这并不意味着JavaScript无法实现操作系统的功能。 什么是基于JavaScript的操作系统? 基于JavaScript的操作系统是使用JavaScript编写的操作系统。它运行在Web浏览器环境中,与传统操作系统不同,它不需要安装或下载,也不需要硬盘或驱…

    node js 2023年6月8日
    00
  • node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用

    下面是详细讲解“node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用”的完整攻略。 简介 在 Node.js 开发中,我们经常需要修改代码并重新启动应用来查看效果,这个过程比较繁琐,而 Node Supervisor 出现就是为了简化这个过程,它可以监控文件修改并自动重启应用,让我们专注于代码编写。 安装 在使用 Node S…

    node js 2023年6月8日
    00
  • Node.js + Redis Sorted Set实现任务队列

    下面是关于“Node.js + Redis Sorted Set实现任务队列”的完整攻略。 什么是任务队列 任务队列是一种用于处理异步任务的机制,在异步任务处理过程中,时常需要将任务放到队列中依次执行。常见的任务队列应用场景有多种,例如:邮件投递、消息提醒等。在这些场景下,任务的执行需要满足先进先出的原则。 Redis Sorted Set Redis So…

    node js 2023年6月8日
    00
  • 在AngularJS中使用jQuery的zTree插件的方法

    使用jQuery插件zTree在AngularJS中需要进行特定的处理。以下是使用zTree插件的完整步骤: 引入必要的依赖 zTree插件和jQuery库是必要的依赖。可以使用本地的库文件或者CDN方式引入。在AngularJS中建议使用Bower或者npm进行依赖管理。 创建基本的DOM结构 zTree插件需要一个ul元素作为基础结构,并通过jQuery…

    node js 2023年6月8日
    00
  • nodejs acl的用户权限管理详解

    Node.js ACL的用户权限管理详解 概述 在Node.js应用中,用户权限管理是非常重要的一个功能,其中一个常用的实现方式是使用 node_acl 模块。 node_acl 是一个封装了 redis 的简单的权限控制列表模块,在许多 Node.js 应用程序中都被广泛使用。 ACL 模块的核心思想是,在用户请求时,检查这个用户是否有权限执行特定的操作,…

    node js 2023年6月8日
    00
合作推广
合作推广
分享本页
返回顶部