【问题标题】:Two different compiled assets in Rails 4Rails 4 中两种不同的编译资产
【发布时间】:2014-03-07 03:59:06
【问题描述】:

如何在 Rails 中拥有两个独立的编译资产文件?

例如,我想要一个 public.min.js 文件和一个 admin.min.js 文件。

【问题讨论】:

    标签: javascript ruby-on-rails ruby heroku


    【解决方案1】:

    像这样构建你的应用程序:

    - app
      - assets
        - javascripts
          - admin
            (all admin-facing js files go here)
          - public
            (all public-facing js files go here)
          admin.js
          public.js
        - stylesheets
          - admin
            (all admin-facing css files go here)
          - public
            (all public-facing css files go here)
          admin.css
          public.css
    

    admin.js:

    //= require_tree ./admin
    

    public.js:

    //= require_tree ./public
    

    admin.css:

    /*
     *= require_directory ./admin
     */
    

    public.css:

    /*
     *= require_directory ./public
     */
    

    app/views/layouts/application.html.erb(或任何你的主布局文件)中:

    <!-- Change this: -->
    
      <%= stylesheet_link_tag "application", media: "all" %>
      <%= javascript_include_tag "application" %>
    
    
    <!-- To this: -->
    
      <%= stylesheet_link_tag "public", media: "all" %>
      <%= javascript_include_tag "public" %>
    

    在每个面向管理员的视图中,通过某种布局或手动添加以下内容:

      <%= stylesheet_link_tag "admin", media: "all" %>
      <%= javascript_include_tag "admin" %>
    

    config/environments/production.rb 中,将此行添加到configure 块内:

      config.assets.precompile += %w( public.js admin.js public.css admin.css )
    

    【讨论】:

      【解决方案2】:

      在您的主应用程序布局文件中(通常是:/app/views/layouts/application.whatever)

      在你的 head 元素中定义 2 个单独的 js 文件。

      javascript_include_tag 'public'
      javascript_include_tag 'admin'
      

      然后在您的 assets/javascripts 文件夹中创建 2 个单独的 js 文件,名为“public”和“admin”,并使用它们将您的 javascript 添加到。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-07-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-27
        • 1970-01-01
        相关资源
        最近更新 更多