如何在 Hapi 中使用 Nunjucks 模板引擎

在现代 Web 开发中,使用模板引擎是非常常见的。Nunjucks 是一种流行的模板引擎,它允许使用变量和自定义标签来生成动态的 HTML 页面和其他文本格式的内容。在这篇文章中,我将向您展示如何在 Hapi 中使用 Nunjucks。

安装 Nunjucks

要在 Hapi 中使用 Nunjucks,首先需要安装它。打开终端并运行以下命令:

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

集成 Nunjucks 到 Hapi 项目

在将 Nunjucks 集成到 Hapi 项目之前,需要先创建目录结构和文件。以下是示例文件结构:

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

在 views 目录中,有两个 Nunjucks 模板:layout.html 和 index.html。在 layout.html 中,我们将定义共同的结构和元素(例如标头,脚本和样式表)。index.html 渲染真实数据和保存在其中的内容。

接下来,我们需要执行以下操作:

  1. 在 index.js 文件中引入必要的模块。如下所示:

    ----- ---- - ----------------
    ----- ---- - ----------------
    ----- ------ - ------------------
    ----- -------- - --------------------
  2. 创建 Hapi 服务器实例。如下所示:

    ----- ------ - -------------
        ----- -----
        ----- -----------
    ---
  3. 注册视图插件(Plugin)并配置 Nunjucks:

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

    首先,我们注册视图插件 Vision。然后,我们为 Nunjucks 配置视图引擎。此处我们将 Nunjucks 的文件扩展名命名为“html”,并指定了一个相对于当前目录的视图目录。还可以看到 layoutPath 属性指向你的布局文件夹,以便在视图中使用。

  4. 创建路由以呈现 Nunjucks 视图文件:

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

    这里我们创建了一个路由,其中 handler 使用视图引擎呈现 index.html 模板。在视图中,我们会向 Nunjucks 传递两个变量 title 和 message。

  5. 启动 Hapi 服务器实例:

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

现在,我们的 Hapi 服务器已经遵循了 Nunjucks 模板引擎的规则并且可以正确显示视图。尝试在浏览器中访问 http:// localhost:3000。

高级示例

对于更复杂的应用程序,我们可以使用 Nunjucks 中的过滤器、宏和自定义标签来创建高度可复用的视图组件。以下是示例代码。

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

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

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

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

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

在此示例中,我们注册了三种自定义 Nunjucks“过滤器”、“宏”和“标签”。每一个都被注册为一个函数,在模板中可以像其它标记一样使用。

结论

在 Hapi 中使用 Nunjucks 模板引擎非常简单并且灵活。可以使用多种方法来自定义和扩展视图,以满足您应用的需求。如果您想要更深入地了解 Nunjucks 的功能和使用,建议参阅 Nunjucks 的官方文档。

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