详解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日

相关文章

  • Node.js中readline模块实现终端输入

    下面是Node.js中readline模块实现终端输入的完整攻略。 什么是readline模块 readline是Node.js内置的模块,它提供了从流(例如stdin和文件)中逐行读取数据的功能。该模块主要用于读取用户在终端中的输入,支持基本的编辑操作(如回退、前进、删除等)。 readline模块的基本使用方法 在使用readline模块前,需要先使用r…

    node js 2023年6月8日
    00
  • Node.js使用Koa搭建 基础项目

    下面我会详细讲解“Node.js使用Koa搭建基础项目”的完整攻略。 1. 安装Node.js和npm 如果您还没有安装Node.js和npm,可以前往官网 https://nodejs.org/ ,选择适合您操作系统的版本进行下载和安装。 2. 初始化项目 在命令行中使用以下命令来创建一个新的项目,例如名为“koa-demo”: $ mkdir koa-d…

    node js 2023年6月8日
    00
  • nodejs使用http模块发送get与post请求的方法示例

    下面我会详细讲解“nodejs使用http模块发送get与post请求的方法示例”的完整攻略,包含以下内容: 使用http模块发送GET请求的方法示例 使用http模块发送POST请求的方法示例 使用http模块发送GET请求的方法示例 GET请求是最常用的HTTP请求之一,通常用于获取某个资源的信息,下面是一个使用Node.js的http模块发送GET请求…

    node js 2023年6月8日
    00
  • 使用mysql_udf与curl库完成http_post通信模块示例

    首先,需要安装MySQL的UDF插件以及curl库。 安装UDF插件的步骤如下: 下载lib_mysqludf_xxx.tar.gz文件并解压缩。 进入解压后的目录,执行下面的命令: make && sudo make install 在MySQL客户端连接服务器,执行下面的命令来加载插件: CREATE FUNCTION http_post…

    node js 2023年6月8日
    00
  • nodejs之请求路由概述

    Node.js之请求路由概述 在Node.js中,请求路由是指根据URL及其他的请求信息来确定应该做些什么。在网站开发中,请求路由是非常重要的一环。本文将介绍Node.js中请求路由的概念以及如何实现请求路由。 请求路由的概念 请求路由的基本思路是将不同的URL映射到对应的处理程序中去。例如,我们可以将/start、/upload、/show等URL映射到相…

    node js 2023年6月8日
    00
  • 使用jQuery的ajax方法向服务器发出get和post请求的方法

    使用jQuery的ajax方法向服务器发出get请求的方法 要在jQuery中使用ajax发出GET请求,可以使用以下代码: $.ajax({ url: "your_api_url", method: "GET", success: function(response) { console.log(response);…

    node js 2023年6月8日
    00
  • Node.js原理阻塞和EventEmitter及其继承的运用实战

    Node.js是一种基于事件驱动、非阻塞I/O模型的服务器端JavaScript运行环境。在Node.js中,有两个重要的概念:阻塞和EventEmitter。本文将从这两个方面入手,分别介绍其原理和应用实践。 阻塞原理 Node.js是一种单线程的事件驱动、非阻塞I/O模型的运行环境。在Node.js中,由于单线程的特性,一旦发生阻塞,则整个进程会停止响应…

    node js 2023年6月8日
    00
  • node.js express框架简介与实现

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境,可用于快速构建高性能、可扩展的网络应用程序。Express.js是一个基于Node.js的快速、灵活的Web应用框架。 一、Node.js express框架简介 1.1 什么是Express框架 Express框架是一个快速、开放、极简的Web应用框架,是基于Node.js环境的…

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