使用@import 或 require 将 css 和 js 导入 Rails 4.2.4 应用程序

Importing css and js into Rails 4.2.4 app using @import or require

我需要将一些文件导入 application.css 或 application.js 文件。 例如,对于 css 我使用 @import 语句。 我在 vendor/assets/stylesheets 目录中有一些样式表:

vendor/assets/stylesheets/font-awesome.min.css
vendor/assets/stylesheets/bootstrap.min.css
etc

所以我使用:

@import 'font-awesome';
@import 'simple-line-icons';
@import 'bootstrap';

在这里我可以加载 font-awesome 文件,但不能加载 bootstrap 或 simple-line-icons。我收到此错误:

File to import not found or unreadable: file_name.css

很奇怪。从供应商目录导入文件的一般想法是否正确?或者我应该将这些文件放在其他目录中吗?

P.S:我知道你可能会问为什么我要手动导入 bootstrap 而不是使用 gem;答案是我买了一些模板,我想包含模板中的所有文件以保持一致。

您从 vendor/assets/stylesheets 导入文件的想法完全正确。从其他地方导入的文件(不是自己写的)应该放在那里。

但是,您应该 @import bootstrap.min,而不是 @import bootstrap

此外,正如@Rendrum 指出的那样,将 *= require bootstrap.min 放入您的 application.css 可能更好。

外部实体拥有的资产应放在vendor/assets目录中,以便rails成功管理。

为了将它们包含在您的应用程序中,您可以在 application.css

中使用这些表达式来自动加载它们
*= require font-awesome
*= require simple-line-icons
*= require bootstrap

我建议您阅读此内容以了解 rails 的工作原理:http://guides.rubyonrails.org/asset_pipeline.html

感谢Alexander Komarov的更正:)