为网站的管理部分存储和引用JS的最佳做法是什么?
目前,我有一个引用了很多JS(包括供应商和应用程序)的application.js。我想将一些引用移动到另一个文件中,以便在用户不是管理员时不会(不必要地)加载它。
我正在寻找以下行为:
/assets/javascripts
//= require_tree .
下的所有文件
require_tree
有关存储代码的位置以及如何调用代码的任何建议都将非常感谢。
答案 0 :(得分:2)
也许你可以做这样的事情。创建一个admin_application.js
文件,该文件需要管理员用户所需的所有.js
代码,不包括require_tree
指令,并维护一个具有所有要求和内容的未更改application.js
对于非管理员用户。
如果它们共享一个共同的布局,那么在头标记中放置一些逻辑来处理这两种情况就很容易了。示例:
application.html.erb
<header>
<% if current_user.is_admin? %>
<%= javascript_include_tag "admin_application" %>
<% else %>
<%= javascript_include_tag "application" %>
<% end %>
</header>
我认为这是解决问题的一种简单而公平的方法。