【问题标题】:Why does the rails 3 application.js file state that it's not advisable to add code there?为什么 rails 3 application.js 文件声明不建议在其中添加代码?
【发布时间】:2012-02-25 08:26:10
【问题描述】:

在 Rails 3 中,application.js 文件被移动到 assets>javascripts>application.js 在这个文件中有预加载的 cmets 声明:

在此目录的单独文件中添加新的 JavaScript/Coffee 代码,它们会自动 包含在可从http://example.com/assets/application.js 访问的编译文件中 不建议直接在此处添加代码,但如果这样做,它会出现在底部 编译后的文件。

但是,在许多教程(如 railscasts)中,他们一直将代码添加到 application.js 文件中。当 application.js 仍在公用文件夹中时,这又回来了。这段代码不应该在 rails 3 的 application.js 中吗?提前致谢

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 railscasts


    【解决方案1】:

    我想这取决于应用程序。如果您的应用程序只有几行 javascript,我不会将 JS 放在单独的文件中。然而,对于较大的应用程序,为应用程序的每个较大区域创建一个文件是有意义的。

    此外,您仍然可以始终不包含所有 JS,即,如果您有管理部分,则可以使用 javascript_include_tag 在应用的相关部分中仅包含 admin.js

    【讨论】:

      【解决方案2】:

      这只是编码方便。如果你把所有东西都放在一个文件中(application.js),从长远来看它会很乱,你会后悔的。

      但在教程中,人们只是想让事情变得更快,所以他们将所有代码放入 application.js

      【讨论】:

        【解决方案3】:

        首先我们是在谈论 Rails 3.1 后的 application.js 吗?如果是,那么我会说直接在 application.js 中编写代码不是一个好主意 归根结底,您的资产将被预编译,并且您的所有 JS 都将被缩小为单个 application.js 所以我认为为了保持你的代码干净,你可以在各自的文件中编写相关的 javascript,并且可能希望通过在 application.js 中明确提及它们来更改加载顺序

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-09-16
          • 1970-01-01
          • 2011-07-15
          • 1970-01-01
          • 1970-01-01
          • 2016-07-09
          相关资源
          最近更新 更多