javascript - 在一个 js 文件中预编译所有 handlebars 模板文件时出错

标签 javascript npm handlebars.js template-engine

这是我的文件夹结构:

app
└───templates
    ├───templ1.hbs
    ├───templ2.hbs
    └───templ3.hbs

我想在一个 templ.js 文件中编译(预编译)所有 templN.hbs handlebars 模板文件,但是当我尝试通过控制台执行此操作时

$ handlebars *.hbs -f templ.js

编译失败并出现此错误

(...)\AppData\Roaming\npm\node_modules\handlebars\bin\handlebars:120
    throw err;
    ^
 Error: Unable to open template file "*.hbs"
    at (...)\AppData\Roaming\npm\node_modules\handlebars\dist\cjs\precompiler.js:107:25
    at FSReqWrap.oncomplete (fs.js:82:15)

怎么了?

最佳答案

在使用 Handlebars 及其预编译器进行一些练习后,我发现解决方案非常简单,我的问题很愚蠢。

首先,最好保留在根文件夹中,因此在我的例子中,保留在 app 文件夹中。然后,要编译所有 .hbs 模板,只需将整个 ./handlebars 文件夹作为输入传递给 handlebars 预编译器,并指定他应该查找的模板扩展名:

$ handlebars ./templates -f templ.js --extension "hbs"

一切正常。

有关预编译器的更多选项,请参阅 http://handlebarsjs.com/precompilation.html

关于javascript - 在一个 js 文件中预编译所有 handlebars 模板文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37601649/

相关文章:

javascript - 下划线中的部分模板(就像在 Handlebars 中一样)?

ember.js - 有什么更好的方法来处理 Ember.js 中的模板,而不是将它们放在 <script> 标签中?

javascript - 我该如何等待才能发挥作用

javascript - Chart.js - 绘制具有相反条形的图表 - 如何将 y 轴两端设置为正数?

typescript - Uncaught ReferenceError : require is not defined TypeScript

node.js - npm prune 删除使用过的包,导致构建损坏。还有什么选择呢?

javascript - 为什么 mapStateToProps 只以这种奇怪的方式更新? (对此可以做些什么?)

javascript - 图像循环有效,但用户控制部分工作

javascript - 使用 Node 版本管理器管理全局模块

handlebars.js - 在 Handlebars 中放置条件容器的干净方法是什么?