In rails3.1 application.css
we could see
/*
*= require_self
*= require_tree .
*/
I know that require_tree .
is just telling the system to bundle together everything from the stylesheets folder into a single file.
But what does require_self
tells?
From http://guides.rubyonrails.org/asset_pipeline.html:
/* ...
*= require_self
*= require_tree .
*/
"In this example require_self is used. This will put the CSS contained within the file (if any) at the top of any other CSS in this file unless require_self is specified after another require directive."
Shedd's answer used to be correct but now the meaning has changed ever so slightly;
Again, from http://guides.rubyonrails.org/asset_pipeline.html (bolding my own):
In this example require_self is used. This puts the CSS contained within the file (if any) at the precise location of the require_self call. If require_self is called more than once, only the last call is respected.
So you can have require_self
at any point, and any CSS you have in the file will be injected into the point you wrote require_self
//= require_self
It loads the file itself, to define the order that the files are loaded.
来源:https://stackoverflow.com/questions/6407067/what-does-require-self-mean