Nodejs教程-Express.js 模板引擎
什么是模板引擎
模板引擎使你能够在应用程序中使用静态模板文件。在运行时,它会将模板文件中的变量替换为实际值,并将模板转换为发送给客户端的 HTML 文件。因此,这种方法可用于轻松设计 HTML 页面。
以下是一些与 Express.js 配合使用的流行模板引擎的列表:
- Pug(以前称为 jade)
- mustache
- dust
- atpl
- eco
- ect
- ejs
- haml
- haml-coffee
- handlebars
- hogan
- jazz
- jqtpl
- JUST
- liquor
- QEJS
- swig
- templayed
- toffee
- underscore
- walrus
- whiskers
在上述模板引擎中,Pug(以前称为 jade)和 mustache 似乎是最受欢迎的选择。Pug 类似于使用空白的 Haml。根据 template-benchmark,Pug 的速度是 Handlebars、EJS 和 Underscore 的两倍。ECT 似乎是最快的。许多程序员喜欢 mustache 模板引擎,因为它是最简单和多功能的模板引擎之一。
使用模板引擎与 Express
模板引擎使您能够在应用程序中使用静态模板文件。要呈现模板文件,您必须设置以下应用程序设置属性:
- Views(视图): 它指定模板文件所在的目录。
- 例如: app.set('views', './views')。
- view engine(视图引擎): 它指定您使用的模板引擎。例如,要使用 Pug 模板引擎:app.set('view engine', 'pug')。
让我们以 Pug 模板引擎为例。
Pug 模板引擎
让我们学习如何在使用 Express.js 的 Node.js 应用程序中使用 Pug 模板引擎。Pug 是用于 Node.js 的模板引擎。Pug 使用空白和缩进作为语法的一部分。它的语法很容易学习。
安装 Pug
执行以下命令以安装 Pug 模板引擎:
npm install pug --save
Pug 模板必须写在 .pug 文件中,所有 .pug 文件都必须放在 Node.js 应用程序的根文件夹下的 views 文件夹中。
注意: 默认情况下,Express.js 会在根文件夹下的 views 文件夹中搜索所有视图。您还可以使用 express 中的 views 属性设置为另一个文件夹。例如:app.set('views','MyViews')。
Pug 模板引擎以简单的方式接受输入,并生成 HTML 输出。看看它如何呈现 HTML:
简单的输入:
doctype html
html
head
title A simple pug example
body
h1 This page is produced by pug template engine
p some paragraph here..
由 Pug 模板生成的输出:
<!DOCTYPE html>
<html>
<head>
<title>A simple pug example</title>
</head>
<body>
<h1>This page is produced by pug template engine</h1>
<p>some paragraph here..</p>
</body>
</html>
Express.js 可以与任何模板引擎一起使用。让我们通过一个示例来了解 Pug 模板引擎如何动态创建 HTML 页面。
看看这个例子:
在 views 文件夹中创建一个名为 index.pug 的文件,并写入以下 Pug 模板:
doctype html
html
head
title A simple pug example
body
h1 This page is produced by pug template engine
p some paragraph here..
文件:server.js
var express = require('express');
var app = express();
// 设置视图引擎
app.set("view engine","pug")
app.get('/', function (req, res) {
res.render('index');
});
var server = app.listen(5000, function () {
console.log('Node 服务器正在运行..');
});