根据“不显眼的 JavaScript”的建议,我想将我的 JavaScript 逻辑分成
单独的文件。但是我不知道如何组织它们。
我应该:
- 只需将所有应用程序 javascript 放入 Application.js 文件并使用布局页面加载它?这是一种简单的方法,但我最终会得到一个臃肿的 Application.js。有些用户可能只想访问几个页面,但整个文件都会预加载,这并不好。
- 或者我应该为每个 View 创建一个单独的 javaScript 文件并独立加载它们吗?这会产生一组问题。如何将每个js文件链接到对应的 View ?
谢谢。
最佳答案
每次加载application.js中的主要JavaScript。现在为不同的需要创建文件。创建一个 form.js 文件,一个 myfancypart.js 文件等。不要在 application.html.erb 布局中加载它们。在需要时动态加载它们:
应用程序.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 block 中的所有内容都将在 yield :javascript_includes 时加载。
关于Rails 中每个 View 的 JavaScript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/602147/