3

我正在尝试在我的文件中导入几个SCSS文件(page1.scss、page2.scss 和..),app.scss但我没有找到任何解决方案(插件等)。

在此处输入图像描述

我看到了这些答案,但它们适用于 Ruby on Rails 而不是 libsass。我在用:

吞咽,

咕噜咕噜,

利伯萨斯和

Laravel 长生不老药

有什么解决办法吗?

4

1 回答 1

2

长答案短:

正如您可以在官方 libsass 项目 github中的这个问题中找到的那样,glob不是 SASS 规范的一部分,因此没有计划在 libsass 中支持它们

为什么?

实现此功能的主要问题与导入文件的顺序有关。首先,AFAIK 没有标准方法来读取流文件在不同操作系统(linux、mac os x、windows)或文件系统(reiserfs、ext3、ntfs、fat32 等)中的行为方式,这会导致不可预测导入文件时排序。

无论如何,即使会有某种跨平台标准支持从每个文件系统读取文件,并且您确信您总是会以相同的顺序获取文件。应该是哪个顺序?

如果您仍然需要/想要它:

仍然有一些hack-y方法可以实现这种行为,但我强烈建议避免使用它们并遵循官方建议

有一个红宝石:sass-globbing。但它不适用于 gulp/libsass,因为它们处理文件流的方式不同。受到这个 ruby​​-gem 的启发,有gulp-css-globbing。看起来这个项目有点过时了,但您可以自行承担使用它的风险。
在这篇博文中:使用 Gulp 导入 Sass 目录,您可以找到另一个解决方案,该解决方案涉及自动为每个文件夹创建一个文件,以导入其中的所有文件。我的口味有点复杂,但如果你真的需要这个,它会起作用。

于 2015-10-31T17:03:15.617 回答