gpt4 book ai didi

ruby-on-rails - 将大模板 Assets 链接到 rails erb 文件的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-04 05:46:43 24 4
gpt4 key购买 nike

我正在开发一个从 webarch template 开始的 rails 应用程序.我知道在 public/文件夹中添加整个 Assets 文件夹会将 Assets 与我的 View 链接起来,但它不会利用 Assets 管道功能。该模板有很多插件和不同的选项,通常不会全部使用。 Assets 文件夹的大小为 30MB。

我想将它放在供应商/ Assets 中并将其与 Assets 管道一起使用,但这会产生两个问题:

  • 我将提供 30MB 的缩小代码并在我的应用程序中使用其中的一小部分。
  • 我将不得不手动重写整个 Assets 文件夹以使用 Assets 管道所需的链接(javascript_include_tag "file" 为 file.js 提供服务)。当然,我会通过脚本来执行此操作,但这似乎仍然是某人应该首先遇到的问题。

  • 由于 vendor/assets 和 public/文件夹似乎都不是这些文件的合适位置,因此我想要一个更好的选择(或者让后面的选项更好地工作的方法)。

    最佳答案

    当文件太大而无法合理地留在单个最小化 Assets 文件中时,将文件保留在 Assets 管道下的一种解决方案是按类别拆分 Assets ,将这些类别编译到不同的最小化文件中,并在需要时将它们包含在您的 View 中。

    我为一个包含多个“重”javascripts 组件的应用程序执行此操作,这些组件位于我的应用程序的不同区域并且不经常使用。

    1- 组织你的文件结构

    在 app/assets/javascrips 和 app/assets/stylesheets 中,为我们要创建的每个类别创建一个目录。例子:

  • 应用程序/ Assets /javascrips/common
  • 应用程序/ Assets /javascrips/admin
  • 应用程序/ Assets /javascrips/user_account

  • 2- 创建您的 list

    在 app/assets/javascrips 和 app/assets/stylesheets 中,为每个类别创建一个 list 文件,并将它们包含在相关目录中

    文件应用程序/ Assets /javascrips/common.js
    //= require jquery
    //= require_tree ./common

    文件应用程序/ Assets /javascrips/admin.js
    //= require_tree ./admin

    文件 app/assets/javascrips/user_account.js
    //= require_tree ./user_account

    3- 将 list 添加到 rails 预编译列表

    您可以在 config/application.rb 文件中执行此操作,但是当它变大时,最好创建一个初始化程序文件 config/initializers/assets.rb
    Rails.application.configure do
    config.assets.precompile += %w[common.js admin.js user_account.js]
    end

    4- 将它们包含在您的 View 和布局中,并设置您的 javascript 库。

    将 Assets 文件导入布局和 View 。为应用程序的不同区域创建多个布局可能是一个好主意,这些区域将使用公共(public) Assets 文件。使用的方法是 stylesheet_link_tag 'manifest_file'javascript_include_tag 'manifest_file'
    请记住,您可能必须告诉您的 javascript 插件,它们在动态加载文件时需要使用最小化文件。对于他们,您可以使用配置 .js.erb 文件。例子:

    文件 app/assets/javascrips/admin/plug-in_config.js.erb
    PLUGIN.config('dynamicFileName', '<%= javascript_path('manifest_file') %>');

    关于ruby-on-rails - 将大模板 Assets 链接到 rails erb 文件的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33488062/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com