我正在使用 Handlebars.js,目前我所有的模板都位于脚本标签中,这些标签位于 .html 文件中,其中包含许多其他模板,也在脚本标签中。
<script type="text/template" id="template-1">
<div>{{variable}}</div>
</script>
<script type="text/template" id="template-2">
<div>{{variable}}</div>
</script>
<script type="text/template" id="template-3">
<div>{{variable}}</div>
</script>
...
然后我将此文件作为部分文件包含在服务器端。
这有以下缺点:
- 一堆模板被塞进 HTML 文件中。
- 查找给定的模板很乏味。
我正在寻找一种更好的方式来组织我的模板。我希望每个模板都存在于自己的文件中。例如:
/public/views/my_controller/my_action/some_template.html
/public/views/my_controller/my_action/some_other_template.html
/public/views/my_controller/my_other_action/another_template.html
/public/views/my_controller/my_other_action/yet_another_template.html
/public/views/shared/my_shared_template.html
然后在我的视图顶部,在后端代码中,我可以在页面加载时包含这些模板,如下所示:
SomeTemplateLibrary.require(
"/public/views/my_controller/my_action/*",
"/public/views/shared/my_shared_template.html"
)
这将包括 /public/views/my_controller/my_action/ 中的所有模板,还包括 /public/views/shared/my_shared_template.html。
我的问题:是否有提供此或类似功能的库?或者,有没有人有任何替代的组织建议?