javascript - 将客户端 JavaScript 模板放在 HTML 或 JavaScript 中?

标签 javascript underscore.js separation-of-concerns client-side-templating

客户端模板应该像下面这样(使用下划线的模板引擎):

<p class="foo"><%= bar %></p>

放在单独的 HTML 文件中,还是单独的 JavaScript 文件中?我知道它可以双向工作。

例如,一个 JavaScript 文件可以只包含一个字符串变量列表,如下所示:

var cute = '<p class="the"><%= unicorn %></p>';
var fb   = '<p class="new-design"><%= sucks %></p>';

但我也看到了以下内容:

<script type="text/template" id="omg-template">
  <span id="swag-name"><%= name %></span>
</script>

从关注点分离的 Angular 来看,模板存储属于哪里?

最佳答案

我通常会使用一个 Assets 管理系统来连接和缩小 javascripts 和 css,并将客户端模板文件转换为 JS 字符串卡在全局变量上。这种事情取决于你的平台,但在 rails 世界中你想看看 jammitsprockets (现在是 rails 的一部分)

如果我没有合适的 Assets 管理,我通常最终会使用脚本标记方法,将模板拆分成服务器上的部分,并包含在页面底部。使用起来有点痛苦,但是除了简单的示例字符串模板之外,IMO 真的不应该内联存在于您的 javascript 文件中。

关于javascript - 将客户端 JavaScript 模板放在 HTML 或 JavaScript 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7537096/

相关文章:

c# - 依赖注入(inject) (DI) 是否依赖于接口(interface)?

用于删除文本的 Javascript 正则表达式

javascript - underscore.js 模板中的 JQuery 事件

javascript - 未捕获的语法错误 : Unexpected token import in "backbone.radio.js"

arrays - 按值对嵌套数组进行排序?

ruby-on-rails - 在设计 Rails 数据库模式时如何避免使用关注点?

c# - 在对表格、其布局和记录建模时,如何避免代码重复,所有这些都共享相同的基本结构?

javascript - 在 HTML、CSS 和 Javascript 或 Jquery Apple iOS 上单击文本框

javascript - 从不同的文件夹访问母版页

javascript - 如何在没有 store.dispatch 的情况下链接异步操作并等待结果