如何使用 EJS 替代 Pug 作为 Express.js 的模板引擎

在 Express.js 中,模板引擎是一个重要的方面,它使得实现动态页面变得更加容易。Pug 是 Express.js 中最常用的模板引擎之一,但是有时候你可能需要考虑替代它。在这篇文章中,我们将讨论如何使用 EJS 替代 Pug,并提供一些示例代码,以便更好地帮助你理解这个过程。

EJS 简介

EJS 是一种简单的模板语言,它允许你使用 JavaScript 代码在 HTML 中插入动态内容。与 Pug 不同,EJS 不需要你掌握新的语法和方法。你可以在 EJS 中使用任何你已经熟悉的约定和语法,这是因为 EJS 在解析时会将你的代码作为 JavaScript 来处理。

安装 EJS

在使用 EJS 之前,你需要先安装它。你可以在 npm 上找到 EJS,并使用以下命令进行安装:

--- ------- --- ------

然后,在你的 Express.js 应用程序中,你需要将 EJS 导入为模板引擎:

----- ------- - -------------------
----- --- - ---------------

----- --- - ----------

---------------- --------- - ----------
------------- -------- -------

------------ ----- ---- -- -
  ------------------- - ------ ------ -------- ------ ----- ---
---

---------------- -- -- -
  -------------------- ------ --------- -- ---- -------
---

这个例子介绍了如何安装和使用 EJS。我们在应用程序中定义了视图引擎为 EJS,并在路由处理程序中将 index.ejs 渲染为响应。在渲染过程中,我们将一个对象传递给模板引擎,这个对象包含渲染模板所需的变量。

使用 EJS 替代 Pug

接下来,我们将展示如何使用 EJS 代替 Pug。我们将使用示例模板来说明这个过程:

Pug 模板

----
  ----
    ------ -----
  ----
    --- -------

EJS 模板

------
  ------
    ---------- ----- ----------
  -------
  ------
    ------- ------- -------
  -------
-------

可以看到,EJS 模板看起来非常像普通的 HTML 文件。但是,注意到在 EJS 模板中我们使用了 <%= %> 语法,表示我们要将 JavaScript 表达式的结果作为 HTML 输出。这些表达式可以是变量、函数调用或表达式。

在 Express.js 应用程序中,我们可以按照之前的例子来使用 EJS 模板。唯一的区别是模板的扩展名是 .ejs,而不是 .pug

----- ------- - -------------------
----- --- - ---------------

----- --- - ----------

---------------- --------- - ----------
------------- -------- -------

------------ ----- ---- -- -
  ------------------- - ------ ------ -------- ------ ----- ---
---

---------------- -- -- -
  -------------------- ------ --------- -- ---- -------
---

在这个例子中,我们使用了渲染 index.ejs 模板的代码。注意到,我们将同样的数据对象 { title: 'EJS', message: 'Hello EJS!' } 传递到模板引擎。

总结

在本文中,我们详细介绍了如何使用 EJS 替换 Pug 作为 Express.js 的模板引擎。我们展示了如何安装 EJS、如何在 Express.js 应用程序中使用 EJS,以及如何使用 EJS 模板替换现有的 Pug 模板。通过这篇文章,你应该已经了解了使用 EJS 的基础知识,并可以将这些技术应用到你的实际项目中。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/64769e70968c7c53b0348322


猜你喜欢

  • Vue.js 中数据绑定的基本用法及注意事项

    Vue.js 是前端非常流行的一种框架,它采用了 MVVM(Model-View-ViewModel)的架构模式,可以非常方便地实现数据绑定。该技术可以让我们更加便捷地处理用户交互和数据更新,提高前端...

    1 年前
  • 在 ES11 中使用 BigInt 的实际应用

    在 ES11 中使用 BigInt 的实际应用 近年来,JavaScript 发展迅速,在新版本中添加了很多丰富的特性,从而使得本已强大的语言更加灵活多变。其中,在 ES11 中新增了 BigInt,...

    1 年前
  • 在 TypeScript 中如何扩展内置类型

    在 TypeScript 中如何扩展内置类型 TypeScript 是一种由 Microsoft 主导开发的面向对象的编程语言,它是 JavaScript 的超集,为 JavaScript 提供了类型...

    1 年前
  • CSS Reset 中常见的空格问题分析及解决方法

    在进行前端开发时,为了让不同浏览器呈现出相似的效果,我们经常会使用 CSS Reset 来重置默认样式。然而,在使用 CSS Reset 过程中,我们很容易遇到空格问题。

    1 年前
  • babel-loader 的性能分析和优化

    前言 在前端开发中,我们经常使用一些新的语言特性、新的框架和库等等,但是有些浏览器并不支持这些特性,所以我们需要将代码转换为浏览器可以理解的语言。而 babel 就可以帮助我们解决这个问题。

    1 年前
  • ES6 中的 Template literals

    在 ES6 中,我们可以使用 Template literals 来创建更加灵活的字符串。 什么是 Template literals? Template literals 是一种新的字符串语法,它可...

    1 年前
  • ECMAScript 2021 中的箭头函数详解

    在 ECMAScript 2015(ES6)中,箭头函数被引入作为新的函数声明方式,使得我们能够更方便地编写简短的、可读性强的代码。随着 ECMAScript 的不断发展,箭头函数在其后续版本中也迎来...

    1 年前
  • Deno 中使用 WebSocket 时如何保持连接?

    Deno 中使用 WebSocket 时如何保持连接? WebSocket 是现在前端及后端开发中十分常用的通信协议之一,它能够实现全双工通信,拥有较低的延时和更好的性能。

    1 年前
  • Sequelize 实现一对多关系的方法

    前言 在开发 Web 应用程序时,数据表之间的关系非常重要。Sequelize 是一个 Node.js ORM(对象关系映射)库,它可以帮助我们轻松地管理数据库模型和关系。

    1 年前
  • 使用 ESLint 和 Babel 检查您的 Node.js 代码

    ESLint 是一个用于在 JavaScript 代码中识别和报告模式匹配方法的静态分析工具。同时,Babel 是一个用于将 ECMAScript 2015+ 代码转换为向后兼容版本的 JavaScr...

    1 年前
  • 分析 SSE 与 Web Worker 的协同工作机制

    随着互联网的发展,Web 应用程序在我们日常生活中扮演越来越重要的角色。为了达到更好的用户体验,我们需要提高 Web 应用程序的性能和响应能力。其中,SSE (Server-Sent Events) ...

    1 年前
  • Koa2 实现 SPA,跨域的问题及解决方式

    前端技术在不断发展的同时,单页面应用(SPA)已经成为了越来越多的网站和应用的首要选择。而在实现 SPA 的过程中,跨域问题也成为了必不可少的考虑因素。本文将介绍如何使用 Koa2 实现 SPA 并解...

    1 年前
  • 如何管理和备份 Docker 容器数据

    Docker 已经成为了前端开发中不可或缺的工具之一,但是大部分人更多的只是使用它搭建和部署前端应用,对于如何管理和备份 Docker 容器数据却很少有人深入了解和研究。

    1 年前
  • ES7 Decorators 实战教程

    ES7 Decorators 是一种装饰器模式,用于修改类和类成员的行为。本文将深入介绍 ES7 Decorators 的使用、原理和示例。 基本使用 ES7 Decorators 是 ES6 类和装...

    1 年前
  • Enzyme 在 React 应用中测试路由的正确方法

    Enzyme 在 React 应用中测试路由的正确方法 在前端开发中,测试是保证代码质量、降低维护成本的关键一环。React 是目前前端最流行的框架之一,而 Enzyme 是 React 测试工具中最...

    1 年前
  • Koa 框架解决 NodeJS 异步编程难题的方法

    NodeJS 是目前业界最流行的后端开发语言之一,采用 JavaScript 作为编程语言,在数据量大、并发量高的 Web 应用场景表现极为出色。然而,由于 JavaScript 语言本身的限制,No...

    1 年前
  • 如何在 Tailwind 中实现多列布局

    在 Web 前端开发中,布局是一个非常重要的技能。随着 HTML5 和 CSS3 的发展,我们拥有了更加丰富的布局方法。Tailwind 是一个流行的前端 CSS 框架,它提供了许多实用的 CSS 类...

    1 年前
  • 如何测试 React 组件 props 改变的场景

    在 React 开发中,组件的 props 是非常重要的概念,很多场景下需要测试当 props 改变时组件的行为。本篇文章将介绍一些测试 React 组件 props 改变的场景及其解决方案。

    1 年前
  • Linux 内核参数优化详解

    Linux 内核是操作系统的核心组成部分,它负责管理系统的硬件资源,为进程提供服务,并提供了一系列的系统调用接口供程序员使用。为了让系统运行更加稳定和高效,我们需要对 Linux 内核的参数进行优化。

    1 年前
  • ES10 新增语法让数组与对象的检索更加方便

    在日常的前端开发过程中,数组和对象的操作是非常常见的。为了有效地操作这些数据类型,我们需要经常使用检索操作。而在 ECMA 提供的新版本 ECMAScript 2019(ES10)中,新增了一些语法,...

    1 年前

相关推荐

    暂无文章