内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用
根据'unobtrusive JavaScript'的建议,我想将我的JavaScript逻辑分成 单独的文件。但是我不知道如何组织它们。
我是不是该:
每次加载application.js中的主JavaScript。现在根据不同需求创建文件。创建一个form.js文件,一个myfancypart.js文件等。不要将它们加载到application.html.erb布局中。在需要时动态加载它们:
application.html.erb:
<%= javascript_include_tag "application" %>
<%= yield :javascript_includes %>
view.html.erb的顶部:
<% content_for :javascript_includes do %>
<%= javascript_include_tag "forms.js" %>
<% end %>
content_for块中的所有内容都将以yield:javascript_includes加载。
我建议将它全部放入一个文件,然后您可以缩小和gzip。客户端只需下载一次,因为它会在所有后续请求中缓存。
另一件您可能会感兴趣的事情是链轮,一个JavaScript依赖管理器,您可以使用gem进行安装。您可以从网站(http://getsprockets.org/)或github页面(http://wiki.github.com/sstephenson/sprockets)获取更多关于链轮的信息。这使得编写大型JavaScript应用程序变得更易于管理。