Koa.js render 中如何使用 ejs 和 pug 模板引擎

Koa.js 是一个轻量级的 Node.js web 框架,可以用于构建灵活的 web 应用程序。其中的模板引擎是一个非常重要的功能,用于将数据动态渲染成 HTML 显示在页面上。在 Koa.js 中,我们可以使用 ejs 和 pug 两种常用的模板引擎来实现这个功能。

安装 ejs 和 pug

首先,在使用 ejs 或 pug 模板引擎之前,需要先将它们安装到项目中。可以使用 npm 来完成安装操作:

npm install ejs pug --save

配置 Koa.js 中间件

Koa.js 通过中间件的方式来实现模板引擎的渲染功能。因此,我们需要在项目中配置对应的中间件。在安装 ejs 或 pug 模板引擎后,可以分别使用 koa-ejs 和 koa-pug 中间件来开启对应的渲染功能。

使用 ejs 中间件

const Koa = require('koa');
const views = require('koa-ejs');
const path = require('path');

const app = new Koa();

views(app, {
  root: path.join(__dirname, 'views'),
  layout: 'template',
  viewExt: 'ejs',
  cache: false,
  debug: false
});

app.use(async (ctx) => {
  await ctx.render('index', { title: 'Hello, World!' });
});

app.listen(3000, () => {
  console.log('Koa.js app is listening on port 3000...');
});

在上述代码中,我们首先引入了 Koa.js 和 koa-ejs 中间件,并使用 views 函数将 koa 应用程序和 ejs 模板引擎进行绑定。其中,root 表示模板文件所在的目录,layout 表示页面主体的模板文件名称,viewExt 表示模板文件的扩展名,cache 表示是否缓存模板文件,debug 表示是否开启调试模式。

在koa应用程序中,我们使用 ctx.render() 函数来进行模板引擎的渲染操作。在这个函数中,第一个参数表示模板文件的名称,第二个参数是传递给模板文件的数据对象。

使用 pug 中间件

const Koa = require('koa');
const views = require('koa-pug');
const path = require('path');

const app = new Koa();

views(app, {
  root: path.join(__dirname, 'views'),
  viewExt: 'pug',
  debug: false,
  pretty: false,
  compileDebug: false
});

app.use(async (ctx) => {
  await ctx.render('index', { title: 'Hello, World!' });
});

app.listen(3000, () => {
  console.log('Koa.js app is listening on port 3000...');
});

在上述代码中,我们引入了 koa-pug 中间件,并创建了 koa 应用程序。views() 函数用于将应用程序和 pug 模板引擎进行绑定。其中,root 表示模板文件所在的目录,viewExt 表示模板文件的扩展名,debug 表示是否开启调试模式,pretty 表示是否格式化 HTML 输出,compileDebug 表示是否开启编译调试模式。

在koa应用程序中,我们还是使用 ctx.render() 函数来进行模板引擎的渲染操作。在这个函数中,第一个参数表示模板文件的名称,第二个参数是传递给模板文件的数据对象。

使用模板文件

在 Koa.js 中使用模板引擎的一个重要部分是模板文件,也就是在模板引擎中渲染数据的文件。通常情况下,我们将模板文件存储在 views 目录下,可以根据需要为不同的模板文件创建子目录。

ejs 模板文件

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title><%= title %></title>
</head>
<body>
  <h1><%= title %></h1>
</body>
</html>

在上述代码中,我们使用 ejs 模板引擎来渲染 HTML 页面。通过 <%= %> 标签,我们可以将动态数据渲染到 HTML 页面上。

pug 模板文件

doctype html
html
  head
    meta(charset="UTF-8")
    title= title
  body
    h1= title

在上述代码中,我们使用 pug 模板引擎来渲染HTML页面。Pug使用缩进和标签名指定HTML元素,不使用闭合标签。通过=符号,我们可以将动态数据渲染到HTML页面上。

总结

使用 ejs 或 pug 模板引擎来完成在 Koa.js 中实现动态数据渲染的工作是比较容易的。在这个过程中,我们需要做到以下几点:

  1. 安装 ejs 或 pug 模板引擎;
  2. 配置对应的 koa 中间件;
  3. 编写模板文件以渲染动态数据。

这些步骤都需要仔细地完成,才能够让模板引擎正常工作。相信通过这篇文章的介绍,读者已经可以掌握使用 ejs 或 pug 模板引擎来实现在 Koa.js 中进行动态数据渲染的技巧了。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65ab9f98add4f0e0ff547dd8