Ruby on rails 使用引导式sass时,我应该如何管理sass代码?

Ruby on rails 使用引导式sass时,我应该如何管理sass代码?,ruby-on-rails,ruby,twitter-bootstrap,Ruby On Rails,Ruby,Twitter Bootstrap,说: 在app/assets/stylesheets/application.scss中导入引导样式: // "bootstrap-sprockets" must be imported before "bootstrap" and "bootstrap/variables" @import "bootstrap-sprockets"; @import "bootstrap"; 引导前必须导入引

说:

在app/assets/stylesheets/application.scss中导入引导样式:

// "bootstrap-sprockets" must be imported before "bootstrap" and "bootstrap/variables"
@import "bootstrap-sprockets";
@import "bootstrap";
引导前必须导入引导链轮,图标字体才能正常工作

确保文件扩展名为.scss(或.sass表示sass语法)。如果您刚刚生成了一个新的Rails应用程序,那么它可能会附带一个.css文件。如果此文件存在,则将提供它而不是Sass,因此请重命名它:

$ mv app/assets/stylesheets/application.css app/assets/stylesheets/application.scss
然后,从文件中删除所有//=require和//=require_树语句。相反,请使用@import导入Sass文件

不要在Sass中使用//=require,否则您的其他样式表将无法访问引导混合项或变量

但如果我照他们说的做,我的其他样式表将不会自动包括在内,就像他们之前做的那样。我应该在布局中明确地包含每个样式表吗?另外,这也会使我在生产环境中有单独的样式表,而不是像没有
引导sass
时那样的样式表

但如果我照他们说的做,我的其他样式表将不会自动包括在内,就像他们之前做的那样

是的,你是对的

1) 您不应该从application.scs中删除
require
指令。他们不想使用
require
指令,因为在这种情况下,您无法在包含的文件中使用SASS变量和混合

2) 只需将application.css重命名为application.scss。他们想要它,因为在这种情况下,您将能够在application.scss文件中使用
@import
指令。这意味着您将能够在包含的文件中使用SASS变量和mixin

我应该从布局中显式地包含每个样式表吗

不,只需将它们留在application.scss中即可

另外,这也会使我在生产环境中有单独的样式表,而不是像没有引导sass那样有一个样式表

不,您将在不同的环境中使用一个application.scs

但如果我照他们说的做,我的其他样式表将不会自动包括在内,就像他们之前做的那样

是的,你是对的

1) 您不应该从application.scs中删除
require
指令。他们不想使用
require
指令,因为在这种情况下,您无法在包含的文件中使用SASS变量和混合

2) 只需将application.css重命名为application.scss。他们想要它,因为在这种情况下,您将能够在application.scss文件中使用
@import
指令。这意味着您将能够在包含的文件中使用SASS变量和mixin

我应该从布局中显式地包含每个样式表吗

不,只需将它们留在application.scss中即可

另外,这也会使我在生产环境中有单独的样式表,而不是像没有引导sass那样有一个样式表

不,您将在不同的环境中使用一个application.scs

但如果我照他们说的做,我的其他样式表将不会自动包括在内,就像他们之前做的那样

是的,你是对的

1) 您不应该从application.scs中删除
require
指令。他们不想使用
require
指令,因为在这种情况下,您无法在包含的文件中使用SASS变量和混合

2) 只需将application.css重命名为application.scss。他们想要它,因为在这种情况下,您将能够在application.scss文件中使用
@import
指令。这意味着您将能够在包含的文件中使用SASS变量和mixin

我应该从布局中显式地包含每个样式表吗

不,只需将它们留在application.scss中即可

另外,这也会使我在生产环境中有单独的样式表,而不是像没有引导sass那样有一个样式表

不,您将在不同的环境中使用一个application.scs

但如果我照他们说的做,我的其他样式表将不会自动包括在内,就像他们之前做的那样

是的,你是对的

1) 您不应该从application.scs中删除
require
指令。他们不想使用
require
指令,因为在这种情况下,您无法在包含的文件中使用SASS变量和混合

2) 只需将application.css重命名为application.scss。他们想要它,因为在这种情况下,您将能够在application.scss文件中使用
@import
指令。这意味着您将能够在包含的文件中使用SASS变量和mixin

我应该从布局中显式地包含每个样式表吗

不,只需将它们留在application.scss中即可

另外,这也会使我在生产环境中有单独的样式表,而不是像没有引导sass那样有一个样式表


不,您将在不同的环境中使用一个application.scs。

这里有几点。首先,默认情况下,每个样式表在开发中分别在http请求和生产中的一个请求中提供(它们被预编译到一个文件中)。如果我们遵循文档,我们最终也会有一个开发中的请求,这将否定只编译已更改的文件的性能优势,我们可能会在样式表中多次使用
bootstrap
。以防我们

所以我建议这样做:

application.sass
(请注意,我将
require\u self
放在
require\u树之前。
):

欢迎。sass

// in other files import only some particular partials
@import "bootstrap/variables"
@import "bootstrap/mixins"
.d2
    text-align: right

这里有几件事。首先,默认情况下,每个样式表在开发中分别在http请求和生产中的一个请求中提供(它们被预编译到一个文件中)。如果我们按照文档进行操作,最终会在d中出现一个请求
// in other files import only some particular partials
@import "bootstrap/variables"
@import "bootstrap/mixins"
.d2
    text-align: right