Css 如何在Rails4项目中添加外部资产文件?

Css 如何在Rails4项目中添加外部资产文件?,css,ruby-on-rails,ruby,ruby-on-rails-4,Css,Ruby On Rails,Ruby,Ruby On Rails 4,我在一个单独的项目中有一个外部css、javascript和Images文件,并希望将其包含在我的新rails项目中。以下是我的文件夹结构: external-assets/js/ <Files> external-assets/js/plugin/<Files> external-assets/css/<Files> external-assets/css/plugins/<Files> external-assets/images/<so

我在一个单独的项目中有一个外部
css
javascript
Images
文件,并希望将其包含在我的新
rails
项目中。以下是我的文件夹结构:

external-assets/js/ <Files>
external-assets/js/plugin/<Files>
external-assets/css/<Files>
external-assets/css/plugins/<Files>
external-assets/images/<some Folders>/<Files>
external-assets/images/<Files>
上搜索后,发布
like:and
. 我需要在
config.assets.precompile
中提到我的所有
js
css
文件

问题 1) 我真的需要提到所有的
js
css
图像
文件吗?我知道原因,但我有很多资产档案

2) 如果我把它们放在
public
文件夹中呢?这是个好办法吗

3) css有
stylesheet\u link\u tag
,js有
javascript\u link\u tag
。图像呢

我真的需要提到所有的js、css和图像文件吗?我知道原因,但我有很多资产档案

没有

链轮具有
require
指令,可将任何文件连接到
应用程序中
文件

#app/assets/javascripts/application.js
//= require x
你想要什么?可能不是。。。但它至少让您能够调用一个文件(
应用程序
),同时受益于所有其他文件的内容

2) 如果我把它们放在公用文件夹里呢?这是个好办法吗

没有

预编译资产将版本放入
公共/资产中

3) css有样式表链接标签,js有javascript链接标签。图像呢


资产

我认为你对“外部”资产的作用感到困惑

如果资产是真正的外部资产(例如),则可以分别使用
javascript\u include\u标记
样式表\u link\u标记
引用它们:

<%= javascript_include_tag "https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js" %>
这将基本上存储您希望在资产管道中使用的JS/CSS的本地版本,允许您将其包括在sprockets
require
指令中

最大的区别在于,由于这些资产是通过gem系统下载的,因此每次运行
bundler
时都会更新它们


我们使用它,虽然有时会有点棘手,但它是值得的

在application.js和application.css中是否有require u树? 如果没有,只需将其添加到这两个文件中,然后重新启动服务器

require_tree指令告诉链轮递归地将指定目录中的所有JavaScript文件包含到输出中。必须相对于清单文件指定这些路径。您还可以使用require_directory指令,该指令只包括指定目录中的所有JavaScript文件,而无需递归

希望有帮助。:)

  • 或者将其全部放入公共目录,然后使用html
    ≤img>
    标记以引用资产。您将失去一些链轮功能,如缩小和消化,但这不是什么大问题

  • 提及
    application.css
    /
    application.js
    中的所有资产,或创建一个新的清单文件,例如
    custom.css
    /
    custom.js
    ,在此处列出要使用的资产,然后将这两个文件添加到:

    Rails.application.config.assets.precompile += %w( custom.css custom.js )
    
  • 谢谢你的解释(我期待你的回答:),但是我在外部项目中添加的自定义css和js呢?如何将它们添加到rails项目中?当我添加它们时,在post中获取错误post
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    
    #Gemfile
    gem "rails-assets-jquery.easing"
    
    #app/assets/javascripts/application.js
    //= require jquery.easing
    
    Rails.application.config.assets.precompile += %w( custom.css custom.js )