什么是模板引擎

模板引擎使你能够在应用程序中使用静态模板文件。在运行时,它会将模板文件中的变量替换为实际值,并将模板转换为发送给客户端的 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

1.png

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 服务器正在运行..'); 
}); 

标签: Nodejs, Nodejs安装教程, Nodejs教程, node, nodejs入门, nodejs入门教程, nodejs进阶, nodejs学习教程, nodejs开发, nodejs指南, nodejs学习指南, nodejs环境配置, nodejs框架