我正在尝试在我的app.scss
中导入多个SCSS
文件(page1.scss,page2.scss等),但我还没有找到任何解决方案(插件等)。
Gulp, Gulp-sass, Libsass 和 Laravel Elixir 有任何解决方案吗?
我正在尝试在我的app.scss
中导入多个SCSS
文件(page1.scss,page2.scss等),但我还没有找到任何解决方案(插件等)。
正如在官方libsass项目的github上的这个问题中所述,globs 不是SASS规范的一部分,因此没有计划在libsass中支持它们。
实现此功能的主要问题与导入文件的顺序有关。首先,据我所知,在不同的操作系统(Linux、macOS、Windows)或文件系统(reiserfs、ext3、ntfs、fat32等)中读取流文件的行为没有标准方法,这导致在导入文件时顺序是不可预测的。
无论如何,即使将来会有某种跨平台标准来支持从每个文件系统读取文件,您还是应该确定始终以相同的顺序获取文件。但是应该是哪种顺序呢?
仍然有一些hack-y的方法可以实现此行为,但我强烈建议避免使用它们,并遵循官方建议。
有一个ruby gem:sass-globbing。但它与gulp/libsass不兼容,因为它们处理文件流的方式不同。受此ruby gem启发,还有一个gulp-css-globbing。看起来这个项目有点过时了,但你可以自行冒险使用它。
在这篇博客文章中:Sass Directory Imports With Gulp,您可以找到另一种解决方案,它涉及自动创建每个文件夹的文件,以导入其中的所有文件。对我来说有点复杂,但如果您确实需要它,它会起作用。