首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >节点js hbs模块和引擎

节点js hbs模块和引擎
EN

Stack Overflow用户
提问于 2014-12-07 12:27:04
回答 1查看 9.1K关注 0票数 1

我对节点js很陌生,并在这个部分代码中看到了这个hbs模块,例如:

代码语言:javascript
复制
app.set('view engine', 'html');
app.engine('html', require('hbs').__express);

有谁能解释一下什么是hbs (把手--但它是做什么的)?如果第一行已经说文件将以html的形式打开,那么为什么需要第二行?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-07 13:17:52

hbs是express.js javascript模板引擎的handlebars.js包装器。Handlebars.js是一个模板引擎,它可以使编写html代码更容易,如果没有html代码的话,您可以查看这里。但是handlebars.js是用于客户端复制(浏览器编译模板),所以您需要像hbs这样的包装器。

例如,包装器使在express.js中使用客户端库成为可能,而这正是hbs所做的。这有点简单化,但它解释了原理。

关于您的第二个问题,,为什么需要第二行。这是因为如果使用标准行:

代码语言:javascript
复制
app.set('view engine', 'hbs');

express.js查找名为hbs的视图引擎,但在您的示例中:

代码语言:javascript
复制
app.set('view engine', 'html');
app.engine('html', require('hbs').__express);

express.js剂量知道在视图引擎被定义为html的情况下应该查找什么,并且您必须在第二行中定义这个视图引擎,因此express.js知道要查找什么。如果您查看这里,您可以看到它写着,Express加载它的内部

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27342583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档