如何只使用js文件加载一次标记脚本

时间:2015-10-12 15:38:28

标签: javascript ruby-on-rails ruby

以及"要求"在Ruby中。假设我在一次处理中不经意地调用了一个特定的脚本。如何在html中只加载一次?

# app/assets/javascripts/file3.js
//= require file1
//= require file2

# app/assets/javascripts/file2.js
//= require file1

# app/assets/javascripts/file1.js
(function ($) {
    console.log('time');
}());

# app/views/layouts/something.haml
- content_for :layout_head do
  = javascript_include_tag 'file3'

- content_for :layout_body do
  %main
    %section
      #container
        = yield

= render file: 'layouts/application'

应该生成:

<html>
    <head>
        <script src="/assets/file1.self.js?body=1"></script>
        <script src="/assets/file2.self.js?body=1"></script>
        <script src="/assets/file3.self.js?body=1"></script>
    </head>
</html>

不应该生成:

<html>
    <head>
        <script src="/assets/file1.self.js?body=1"></script>
        <script src="/assets/file1.self.js?body=1"></script>
        <script src="/assets/file2.self.js?body=1"></script>
        <script src="/assets/file3.self.js?body=1"></script>
    </head>
</html>

0 个答案:

没有答案