在现代 Web 开发中,使用模板引擎是非常常见的。Nunjucks 是一种流行的模板引擎,它允许使用变量和自定义标签来生成动态的 HTML 页面和其他文本格式的内容。在这篇文章中,我将向您展示如何在 Hapi 中使用 Nunjucks。
安装 Nunjucks
要在 Hapi 中使用 Nunjucks,首先需要安装它。打开终端并运行以下命令:
--- ------- --------
集成 Nunjucks 到 Hapi 项目
在将 Nunjucks 集成到 Hapi 项目之前,需要先创建目录结构和文件。以下是示例文件结构:
--- --- ------ - --- --- - --- -- - --- ------ --- ----- - --- ----------- - --- ---------- --- -------- --- ------------
在 views 目录中,有两个 Nunjucks 模板:layout.html 和 index.html。在 layout.html 中,我们将定义共同的结构和元素(例如标头,脚本和样式表)。index.html 渲染真实数据和保存在其中的内容。
接下来,我们需要执行以下操作:
在 index.js 文件中引入必要的模块。如下所示:
----- ---- - ---------------- ----- ---- - ---------------- ----- ------ - ------------------ ----- -------- - --------------------
创建 Hapi 服务器实例。如下所示:
----- ------ - ------------- ----- ----- ----- ----------- ---
注册视图插件(Plugin)并配置 Nunjucks:
----- ------------------------ -------------- -------- - ----- -------- -- ----------- ---------- ----- ---------- ----------- --------- --- --------------------------------------- --------- - ----------- ----- ------ ----- -------- ------ ---
首先,我们注册视图插件 Vision。然后,我们为 Nunjucks 配置视图引擎。此处我们将 Nunjucks 的文件扩展名命名为“html”,并指定了一个相对于当前目录的视图目录。还可以看到 layoutPath 属性指向你的布局文件夹,以便在视图中使用。
创建路由以呈现 Nunjucks 视图文件:
-------------- ------- ------ ----- ---- -------- --------- -- -- - ------ --------------- - ------ ----- --- ---------- -------- ------- --- -------- -------- ------ --- -------- --- - ---
这里我们创建了一个路由,其中 handler 使用视图引擎呈现 index.html 模板。在视图中,我们会向 Nunjucks 传递两个变量 title 和 message。
启动 Hapi 服务器实例:
----- --------------- ------------------- ------- --- ---------------------
现在,我们的 Hapi 服务器已经遵循了 Nunjucks 模板引擎的规则并且可以正确显示视图。尝试在浏览器中访问 http:// localhost:3000。
高级示例
对于更复杂的应用程序,我们可以使用 Nunjucks 中的过滤器、宏和自定义标签来创建高度可复用的视图组件。以下是示例代码。
-- -------- ------- --------------------------------------- --------- - -------- - ---------- -------- ----- - ------ ------------------ - - --- -- -------- ------ --------------------------------------- --------- - ------- - ------- -------- ------ ---- - ------ --- ------- - --- - ---- - ---- - ------- - - --- -- -------- ------ ---- --------------------------------------- --------- - ----- - ------ -------- -------- ------ ------ - ----- ---- - --------------------------- ------ ------------------------------ ----- ---- - ------------------------------------ ------------------------------ ------ --- ------------------------- ------ ----- -------- -- --------- -------- --------- ----- ----- - ------ ------- - - ---
在此示例中,我们注册了三种自定义 Nunjucks“过滤器”、“宏”和“标签”。每一个都被注册为一个函数,在模板中可以像其它标记一样使用。
结论
在 Hapi 中使用 Nunjucks 模板引擎非常简单并且灵活。可以使用多种方法来自定义和扩展视图,以满足您应用的需求。如果您想要更深入地了解 Nunjucks 的功能和使用,建议参阅 Nunjucks 的官方文档。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6738007e317fbffedf0da204