Handlebars with Express:不同的html头为不同的页面

Handlebars with Express:不同的html头为不同的页面,第1张

概述我在Express Node.js应用程序中使用Handlebars。我的layout.html文件包含< head>部分。如何使< head>部分不同页面不同? (所以我可以,例如,仅在一个页面中引用一个JavaScript文件,并改变每个页面的< title>)。 layout.html看起来像这样: <!DOCTYPE html><html> <head> <meta char 我在Express Node.Js应用程序中使用Handlebars。我的layout.HTML文件包含< head>部分。如何使< head>部分不同页面不同? (所以我可以,例如,仅在一个页面中引用一个JavaScript文件,并改变每个页面的< Title>)。

layout.HTML看起来像这样:

<!DOCTYPE HTML><HTML>  <head>    <Meta charset="UTF-8">    <script src='/public/aJs@R_404_6852@.Js'></script>    <link type='text/CSS' href="/public/style.CSS" rel="stylesheet">  </head>  <body>    {{{body}}}  </body></HTML>

(我想象的是,使用类似于{{{body}}}的{< head>内容,而在{{{head}}}中)

解决方法 这是一个很好的问题,在我看来,Express的观点模式是一个明显的弱点。幸运的是,有一个解决方案:使用Handlebars块助手。这是我为此目的使用的帮手:
helpers: {    section: function(name,options){        if(!this._sections) this._sections = {};        this._sections[name] = options.fn(this);        return null;    }}

然后,在布局中,您可以执行以下 *** 作:

<head>    {{{_sections.head}}}</head><body>    {{{body}}}</body>

在你看来:

{{#section 'head'}}    <!-- stuff that goes in head...example: -->    <Meta name="robots" content="noindex">{{/section}}<h1>Body Blah Blah</h1><p>This goes in page body.</p>
总结

以上是内存溢出为你收集整理的Handlebars with Express:不同的html头为不同的页面全部内容,希望文章能够帮你解决Handlebars with Express:不同的html头为不同的页面所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1110380.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存