前言
在构建 Web 应用程序时,使用模板引擎是必不可少的一环。由于许多前端框架和库提供了方便的模板功能,因此中后端开发者不必自己开发模板系统。在 Node.js 世界中,可以使用 Hapi.js 和 Handlebars 来实现快速和高效的模板引擎。
本文将向您介绍如何在 Hapi.js 中使用 Handlebars,以便在 Web 应用程序中实现模板功能。
步骤
在您的项目中安装 Hapi.js 和 Handlebars
npm install hapi handlebars --save
创建一个 Hapi.js 的服务器实例
const Hapi = require('hapi'); const server = new Hapi.Server(); server.connection({ port: 3000, host: 'localhost' });
注册 Handlebars 插件
-- -------------------- ---- ------- ----- ---------- - ---------------------- ----- ------ - ------------------ ----------------------- ----- -- - -- ----- - ----- ---- - -------------- -------- - ----- ---------- -- ----------- ---------- ----- ------- --- ---
在这里,
Hapi
的Vision
插件将帮助您注册 Handlebars,relativeTo
参数指定了视图目录的路径,path
参数设置视图目录的目录名称。创建视图
在您的视图目录中,创建一个名为
index.html
的文件,并添加以下代码:-- -------------------- ---- ------- ------ ------ ------------ ------------- ------- ------ ------------------ ------------------ ------- -------
在这里,您可以看到
Handlebars
的模板标记为{{}}
。使用这种标记方式,您可以在视图中嵌入动态内容。渲染视图
当使用
Handlebars
作为模板引擎时,您可以通过server.views
方法中的context
对象来传递视图数据。-- -------------------- ---- ------- -------------- ------- ------ ----- ---- -------- --------- ------ -- - ----- ------- - - ------ -------- -- ------- --- ------------- -------- ----- -- - ---- -- ---------- -- -------- -- ------ ------------------- --------- - ---
在这里,我们使用
reply.view
方法将视图名称传递给 Hapi.js,同时传递视图数据的context
对象。运行服务器
在 Node.js 中运行您的项目,并向服务器请求首页。如果一切正常,您会在浏览器中看到 "Welcome to Hapi.js and Handlebars!" 和 "This is a demo of Handlebars in Hapi.js" 这两个短语之一。
恭喜,您已经成功地在 Hapi.js 中使用 Handlebars 实现了模板引擎!
示例代码
这里是完整的示例代码,以供参考:
-- -------------------- ---- ------- ----- ---- - ---------------- ----- ---------- - ---------------------- ----- ------ - ------------------ ----- ------ - --- -------------- ------------------- ----- ----- ----- ----------- --- ----------------------- ----- -- - -- ----- - ----- ---- - -------------- -------- - ----- ---------- -- ----------- ---------- ----- ------- --- -------------- ------- ------ ----- ---- -------- --------- ------ -- - ----- ------- - - ------ -------- -- ------- --- ------------- -------- ----- -- - ---- -- ---------- -- -------- -- ------ ------------------- --------- - --- ------------------ -- - -- ----- - ----- ---- - ------------------- ------- --- --------------------- --- ---
结论
Hapi.js 和 Handlebars 是使用模板功能的出色选择。它们提供简单、可扩展的代码组合,前后端代码都能很好的维护和组织。同时,可以使用 Handlebars 的特殊功能来隐藏复杂的数据计算和数据处理逻辑。我们希望,这篇文章可以帮助您更好地理解如何在 Hapi.js 中使用 Handlebars 实现模板引擎。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/670c8884cf33e97f8258e137