0

我有许多视图模板,其中我有特定于该视图的内联 javascript。

例如:

app/views/something/index.html.haml
.some-id
  %h4 Something

#this javascript is not reused anywhere. Used only in this view
:javascript
  $(document).ready(function() {
    $('.some-id').addClass('something')
  })

拥有上述观点是一种好习惯吗?

跨多个视图维护内联 JavaScript 绝对是一种痛苦。所以我开始慢慢地将它们移动到一个单独的 javascript 文件中。但我不确定这是否是一件好事,因为现在所有页面的所有 javascript 都将执行。

那么哪个是放置查看特定 javascript 的最佳位置?

4

1 回答 1

1

如果您担心页面加载时间,您应该使用类似loadjs的东西。像这样将 JS 放在您的视图中是不可维护的。对于超级简单的项目也许可以,但总的来说你应该远离它。

另一件需要注意的是,浏览器会在从文件加载 javascript 时缓存它。当它是内联的时,他们不能这样做,因为每次页面加载都会呈现 HTML。因此,即使没有 loadjs,您在内联时也可能会看到整体性能损失。

于 2013-10-21T19:55:30.253 回答