不知道你知道多少,所以会尽量详细解释。
Rails 将我们的资产(如图像、css、js 文件)存储在不同的位置,所以一切都井井有条,对我们 - 开发人员来说更好,可以使用。这就是所谓的Assed Pipeline。当 Rails 加载这些资源时,比如 css 文件,它会从我们所有的应用程序文件中创建一个大文件,以避免多次调用。Manifest 就像 Rails 的地图或规则,哪些文件要包含在那个大的 css 文件中,这*=
就是告诉 Rails 究竟要包含什么(我认为它是 Rails 语法)。所以当你有这样的事情时:
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require_tree .
require_tree .
告诉 Rails 从 javascripts 文件夹中获取所有文件,而//= require jquery
其他人则将 Rails 引导到特殊情况- 资产,通常由您的 gem 使用(那些您从未保存在 javascripts/stylesheets 文件夹中的文件,所以//= require_tree .
看不到它们)。
添加 on css 文件时,只需将其添加到样式表文件夹并require_tree
通知 Rails 将其包含在大图中。但是 Rails 有一个很好的特性——脚手架。你用命令搭建你的对象,rails g scaffold User
Rails 为你创建一切——视图、控制器、模型、测试(谁知道还有什么 :))。所以在这种情况下,你甚至不需要创建你的 css 文件,只需在其中插入 css 规则,Rails 就会找到它require_tree .
sass 文件有点不同:
如果你想使用多个 Sass 文件,你通常应该使用 Sass @import 规则而不是这些 Sprockets 指令。当使用 Sprockets 指令时,Sass 文件存在于它们自己的范围内,使得变量或 mixin 仅在它们被定义的文档中可用。
因此,如果您将使用 Bootstrap(可能会),那么了解这一点也很重要。
希望这可以帮助