ruby-on-rails 每个SASS文件都需要导入吗?

f87krz0w  于 2023-04-08  发布在  Ruby
关注(0)|答案(1)|浏览(180)

自从我使用Rails编码以来,已经有将近十年的时间了,我对sass文件的rails @import实践有点困惑。
具体而言:我有一个application.scss,如下所示:

@import 'theme';
@import 'bootstrap';
@import 'colors';
@import 'sidebar';

在这些文件中,如果我想从其他文件访问变量,我仍然需要直接导入相关的scss文件。例如:我在sidebar.scss中引用了$blue-600(来自bootstrap)。我假设,如果bootstrap在application.scss中的侧边栏上方导入,我就不必再次导入它。但我这样做了-否则我会得到一个“变量未找到”错误。(虽然它不会在第一次刷新时立即发生-我假设由于缓存的资产引用,它通常需要几分钟才会出现错误)。
这是有问题的,因为我覆盖了(例如)colors中的$primary颜色,但是当我在侧边栏中导入bootstrap时,bootstrap覆盖了我的覆盖-将$primary设置回默认值。
所以:有什么想法是我做错了吗?为了它的价值,我使用了'bootstrap' gem和导入Map来引用bootstrap,它也在config/initializers/assets. rb中预编译。据我所知,rails 7资产管道的其余部分几乎是默认的。
其他注意事项:这是所有在开发环境中,我还没有发送到生产项目。

5cnsuln7

5cnsuln71#

更新:恐怕我仍然不知道潜在的问题是什么,但不知何故,rails资产管道导入文件的顺序与application. scss中指定的顺序不同......转移到cssbundling-rails解决了这个问题

相关问题