有没有办法用单独的文件添加供应商第三方库中的所有application.css
文件application.js
?
我可以像下面那样在Vendor
文件夹下添加这两个文件吗?require_tree
/*
*= require_tree assets/stylesheets/.
*/
有人说我应该包含在app/assets/stylsheets/application.css
文件中,但我认为还有另一种方式。
有没有办法用单独的文件添加供应商第三方库中的所有application.css
文件application.js
?
我可以像下面那样在Vendor
文件夹下添加这两个文件吗?require_tree
/*
*= require_tree assets/stylesheets/.
*/
有人说我应该包含在app/assets/stylsheets/application.css
文件中,但我认为还有另一种方式。
Try putting this in your javascript file (vendor.js):
//= require_tree ../../../vendor/assets/javascripts/.
and this in your css file (vendor.css):
//= require_tree ../../../vendor/assets/stylesheets/.
You could put these in app/assets/stylesheets/vendor.css
or app/assets/javascripts/vendor.js
, and then include them in your _head.html.erb
partial:
<%= stylesheet_link_tag "vendor", :media => "screen, projection" %>
<%= javascript_include_tag "vendor" %>
Make sure to add these to your assets to be precompiled as well (config/environments/production.rb):
config.assets.precompile += ['vendor.css', 'vendor.js']
Also, cool username! :D
你可以通过一些调整来做到这一点
Sprockets 出于特殊目的使用名为 index 的文件(带有相关扩展名)。
例如,如果您有一个包含许多模块的 jQuery 库,并且存储在 lib/assets/library_name 中,那么文件 lib/assets/library_name/index.js 将作为该库中所有文件的清单。该文件可以按顺序包含所有必需文件的列表,或简单的 require_tree 指令http://guides.rubyonrails.org/asset_pipeline.html#manifest-files-and-directives(参见 2.2.2)
也就是说,假设您的供应商 CSS 目录是vendor/assets/css/foo
,包含以下文件
/foo
bar.css
baz.css
然后您可以创建一个foo/index.css
包含以下内容的文件
/= require_tree ./
然后你可以在你的主 application.css 中包含这个库作为
/= require foo
免责声明
我自己没有使用过上述技术。我只是按照指南进行了假设。
我自己建议一一要求 CSS,因为 CSS 中的顺序很重要。即使文件在供应商中,您也可以直接在 application.css 中要求它们,例如
/= require foo/bar
/= require foo/baz