📜  ExpressJS-模板(1)

📅  最后修改于: 2023-12-03 15:00:40.703000             🧑  作者: Mango

介绍 ExpressJS 模板引擎

什么是模板引擎

模板引擎是一种用于生成 HTML、XML、PDF 或其他文档格式的软件工具,它们一般是以约定的格式描述所需要呈现的信息。模板引擎将此预定义的格式和数据结构,填入开发者所提供的数据结构中,预定义格式的逻辑操作逐一执行后将生成所需输出格式的数据。

为什么要使用模板引擎

使用模板引擎可以将页面的数据展示与数据处理分离,使得代码更加清晰易读。同时,它也提供了在某些情况下必要的功能,例如布局、条件语句和循环语句等等。

ExpressJS 框架支持的模板引擎

ExpressJS 框架支持多个模板引擎,包括但不限于:

  • Pug
  • EJS
  • Handlebars
  • Nunjucks
聚焦于 Pug
什么是 Pug

Pug(原名 Jade)是一种模板引擎,它的语法紧凑、简单易懂,可以大幅度的减少模板的代码量。

Pug 的特点
  • 简洁的语法
  • 可嵌套的代码块
  • 向导式语法
  • 支持模板继承
  • 可以内联 JavaScript 和 CSS
Pug 示例

以下是一个基本的 Pug 例子:

html
  head
    title= title
    meta(name='viewport', content='width=device-width, initial-scale=1.0')
    link(rel='stylesheet', href='/stylesheets/style.css')
  body
    h1= title
    p Welcome to #{title}
如何在 ExpressJS 中使用 Pug

首先,安装 pug 模块:

npm install pug --save

然后,在 ExpressJS 应用程序中设置模板引擎:

const express = require('express');
const app = express();
const port = 3000;

app.set('view engine', 'pug');
app.set('views', './views');

app.get('/', (req, res) => {
  res.render('index', { title: 'ExpressJS with Pug' });
});

app.listen(port, () => {
  console.log(`Example app listening at http://localhost:${port}`);
});

最后,在 views 文件夹下创建 index.pug 模板文件:

html
  head
    title= title
  body
    h1= title
    p Hello World!

运行后,在浏览器中访问 http://localhost:3000/ ,你将会看到以下信息:

<html>
  <head>
    <title>ExpressJS with Pug</title>
  </head>
  <body>
    <h1>ExpressJS with Pug</h1>
    <p>Hello World!</p>
  </body>
</html>
总结

在 ExpressJS 应用程序中使用模板引擎有利于分离代码逻辑和数据展示,并且 Pug 作为一种简洁的模板引擎,在提高代码可读性的同时,又不失灵活性。