什么是最好的方式有所有骨干模板在一个单独的JS文件,以便它可以放在CDN
What is the best way to have all Backbone templates in a single JS file so that it can be put on CDN?
我想把所有的骨干模板在一个单一的JS文件,这样我就可以很容易地通过CDN分发它。理想情况下,它还应该与Rails资产编译工作流一起工作。
可能解决方案#1:
一个单独的JS文件,所有模板声明如下:
app.templates.view = " '
<h3>something code</h3> '
";
太乱。缺少高亮。
可能解决方案#2:
一个单独的html文件,所有的模板内联。在我的主文档中包含部分。
<script type="text/template" id="list-item">
<li><%= item %></li>
</script>
我不能使用通过我的CDN分发的最小化JS文件的好处。模板将与我的HTML文件内嵌。
可能解决方案#3:
使用Require.js,但它似乎不能解决在一个JS文件中包含所有模板的需要。
看一下Lineman。它为开发JavaScript客户端提供了一个非常好的工作流程。它实际上只是Grunt任务的集合,聚合成一个超级简单的工作流。它所做的事情之一是将所有的Underscore(或Handlebars)模板编译成jst(如Rails)。它使用"grunt-contrib-jst"来完成这项工作,并将模板输出到"generated/template/underscore.js"。然后,它将所有JS编译成一个文件,尽管您可以轻松地单独导入. JS文件。
它可能会给你指明正确的方向。
感谢您的回复。我以可能的解决方案#2结束,其中我有一堆模板,并使用Rails部分包含在主文件中。目前,通过CDN分发模板没有太多好处。
*我没有选择使用Grunt,因为我认为它在工作流程中增加了额外的复杂性,考虑到团队中的所有开发人员都必须采用新的工作流程
相关文章:
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- Sails.js:同时发布文本输入和一个文件
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- 要求定义另一个文件中的对象
- 是否可以使用JavaScript/AAJAX在客户端创建一个文件
- 如何将所有JS文件连接到一个文件夹中
- 请求准备一个文件并返回路径,允许用户在准备好时下载
- 从AngularJS中的另一个文件中的控制器访问服务
- 将任何CDN配置为只传递一个文件,无论请求的url是什么
- 通过AngularJS promise下载一个文件
- Grunt-将多个文件最小化/处理为一个文件
- 文件的节点自动化移动到另一个文件夹中
- 用于文件移动到另一个文件夹的Javascript自动化
- 需要从一个文件中获取多个模块
- 仅首先需要使用jasmine从节点添加一个文件
- jQuery Mobile样式从另一个文件加载内容
- 最小化CSS/JS文件,并使用命令行创建一个文件
- 我如何制作一个文件的副本并用gump将其移动到父文件夹
- 为什么当我上传文件并点击更多上传另一个文件的第一个删除