2

我正在尝试在 webstorm 中设置监视文件。

我想将一个文件预编译到我的主templates.js聚合文件中。

这可能吗?

如果我使用/path/to/hello.tpl -f templates.js选项,它只会覆盖文件中的所有其他模板templates.js

如果我使用/path/to/templates > templates.js这意味着当我只修改一个模板时,我必须在我的文件观察器中预编译每个模板。

编辑:

如果您传递一个目录,并将其输出重定向到一个文件,您可以在一个文件中获取所有预编译的模板。handlebars -e tpl ./templates/ > ./js/templates.js

这将预编译所有./templates/*.tpl文件并保存它们,./js/templates.js然后您可以将它们包含在您的页面中。

以下是有关该技术的更多信息:http: //berzniz.com/post/24743062344/handling-handlebars-js-like-a-pro

4

2 回答 2

1

有一个 nodejs 插件可以完全满足您的需求。请尝试一下,看看它是否适合您。

https://github.com/cif/handlebar-rider

于 2013-11-19T10:44:55.620 回答
0

我对此的解决方案是稍微修改把手模块本身,以便在 node_modules\handlebars\bin\handlebars 中找到 processTemplate 函数并更改

if (extension.test(path) || fs.statSync(path).isDirectory()) {
    processTemplate(path, root || template);
  }

if (extension.test(path) || /\.hbr$/.test(path)|| fs.statSync(path).isDirectory()) {
    processTemplate(path, root || template);
  }

然后它会获取你所有的模板文件(我给了一个 hbr 扩展名)并将它们放在 -f 标志指定的文件中。

于 2013-10-23T15:24:59.267 回答