为handlebas编译器指定一个文件
specify one file for handlebars compiler
我正在尝试在webstorm中设置一个监视文件。
我想将一个文件预编译到我的主templates.js
聚合文件中。
这可能吗?
如果我使用/path/to/hello.tpl -f templates.js
选项,它只会覆盖templates.js
文件中的所有其他模板。
如果我使用/path/to/templates > templates.js
,这意味着当我只修改一个模板时,我必须预编译filewatcher中的每个模板。
编辑:
如果传递一个目录,并将其输出重定向到一个文件,则可以在一个文件中获得所有预编译的模板。handlebars -e tpl ./templates/ > ./js/templates.js
这将预编译所有./templates/*.tpl
文件,并将它们保存到./js/templates.js
,然后可以将其包含在页面中。
以下是有关该技术的更多信息:http://berzniz.com/post/24743062344/handling-handlebars-js-like-a-pro
有一个nodejs插件,它可以满足您的需求。请试试这个,看看它是否适合你。
https://github.com/cif/handlebar-rider
我的解决方案是稍微修改手把模块本身,以便在node_modules''handbars''bin''handbars中找到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标志指定的文件中。
相关文章:
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- Sails.js:同时发布文本输入和一个文件
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- 要求定义另一个文件中的对象
- 是否可以使用JavaScript/AAJAX在客户端创建一个文件
- 如何将所有JS文件连接到一个文件夹中
- 请求准备一个文件并返回路径,允许用户在准备好时下载
- 从AngularJS中的另一个文件中的控制器访问服务
- 将任何CDN配置为只传递一个文件,无论请求的url是什么
- 通过AngularJS promise下载一个文件
- Grunt-将多个文件最小化/处理为一个文件
- 文件的节点自动化移动到另一个文件夹中
- 用于文件移动到另一个文件夹的Javascript自动化
- 需要从一个文件中获取多个模块
- 仅首先需要使用jasmine从节点添加一个文件
- jQuery Mobile样式从另一个文件加载内容
- 最小化CSS/JS文件,并使用命令行创建一个文件
- 我如何制作一个文件的副本并用gump将其移动到父文件夹
- 为什么当我上传文件并点击更多上传另一个文件的第一个删除