从视图中添加快速手柄中的脚本

时间:2016-11-02 17:34:39

标签: node.js express handlebars.js

我使用Express-Handlebars作为我的模板引擎,我使用布局来显示所有视图。但是,我希望能够通过特定页面的视图添加脚本。与此示例非常相似:is there a way to add CSS/JS later using EJS with nodejs/express

我想在用于所有页面的标准脚本(bootstrap,jquery)之后添加我的脚本。它们放置在我的布局的底部,如下所示:

<html>
<header>
...
</header>
<body>
...
{{{body}}}

<script src="/js/jquery.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
</body>
</html>

我如何使用Handlebars进行此操作?或者我最好使用EJS?或者我可以同时使用它们吗?

非常感谢任何帮助, Freece

1 个答案:

答案 0 :(得分:5)

没关系!我意识到这种方法会与Handlebars的基础相矛盾。相反,我将以下内容添加到我的控制器中:

var scripts = [{ script: '/js/myTestScript.js' }];
...
res.render('contact', { title: 'Kontakt', scripts: scripts });

在我的布局中,它看起来像这样:

...
<script src="/js/jquery.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
{{#each scripts}}
  <script src="{{script}}"></script>
{{/each}}