【问题标题】:Adding 3rd Party JS/CSS libraries to a Rails App将第 3 方 JS/CSS 库添加到 Rails 应用程序
【发布时间】:2015-10-16 02:13:18
【问题描述】:

为了避免做出数千种不同的 UI 决策,我的公司购买了一个模板,其中包括 Bootstrap、JQuery UI 以及可能数百个不同的 CSS 和 JS 文件。我们谈论的文件总数超过 160 MB。

我正在使用 Rails 4.2 和 Ruby 2.0。

我是一个相对的“菜鸟”,以前没有遇到过这种情况。我最初的想法是逐个目录将资产移动到适当的资产管道目录(图像、javascript、样式表)中。但是,这不仅看起来非常乏味,而且我确信其中一些 JS 文件中包含指向其他资源的路径,我不想调试所有这些。

所以我现在正在查看 lib 和 vendor 目录。根据定义,供应商听起来像是正确的地方。但是,它有 javascripts 和 stylesheets 目录,看起来我会陷入和上面一样的混乱。

lib 目录看起来可以工作。所以我扔掉了资产目录中的所有子目录。现在最大的问题是,我如何让我的应用程序将其用于所有页面。再说一次,我是这类东西的“菜鸟”。

我搜索了 rails 指南和 stackoverflow,虽然我看到了一些可行的方法,但我没有看到任何实际概述如何执行此操作的内容,而且我尝试过的任何方法都没有奏效。最接近应该工作的事情是将以下内容添加到 application.rb

config.autoload_paths += Dir["#{config.root}/lib/**/"]

我还尝试将以下内容与我的 application.js 文件中的相应条目一起添加到我的 application.css 文件中:

*= require_tree ../../../lib/assets/.

但是,当我偶然发现一个 .js 文件时,编译 CSS 资源时会出现错误,因为它们都是混合在一起的。

非常感谢任何帮助。

【问题讨论】:

  • 公司购买捆绑开源?如果有人从其他人的开发工作中获利,他们最不可能做的就是提供定制安装。根本不理你。这是一个合理的问题,但它指出了一个令人不安的趋势。

标签: javascript jquery css ruby-on-rails twitter-bootstrap


【解决方案1】:

我最终将所有内容都放入了资产管道中,并且运行良好。它没有遵循将供应商库分开的最佳做法,但它确实有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-09
    • 1970-01-01
    • 2016-11-16
    • 2012-06-16
    • 1970-01-01
    • 2015-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多