如何在 libsass 中导入目录
Posted
技术标签:
【中文标题】如何在 libsass 中导入目录【英文标题】:How to import directory in libsass 【发布时间】:2016-01-29 18:28:33 【问题描述】:我试图在我的app.scss
中导入几个SCSS
文件(page1.scss、page2.scss 和..),但我没有找到任何解决方案(插件等)。
我看到了these answers,但它们是用于 Ruby on Rails 而不是 libsass。我正在使用:
一饮而尽,
一饮而尽,
Libsass 和
Laravel 长生不老药
有什么办法吗?
【问题讨论】:
【参考方案1】:长答案短:
正如您可以在官方 libsass 项目 github 中的 issue 中找到的那样,globs 不是 SASS 规范的一部分,因此没有计划在 libsass 中支持它们。
为什么?
实现此功能的主要问题与导入文件的顺序有关。首先,AFAIK 没有标准的方式来读取流文件在不同的操作系统(linux、mac os x、windows)或文件系统(reiserfs、ext3 、ntfs、fat32 等),是什么导致在导入文件时出现不可预知的顺序。
无论如何,即使会有某种跨平台标准支持从每个文件系统读取文件,并且您确信您总是会以相同的顺序获取文件。应该是哪个顺序?
如果您仍然需要/想要它:
仍然有一些 hack-y 方法可以实现此行为,但我强烈建议避免使用它们并遵循官方建议。
有一颗红宝石:sass-globbing。但它不适用于 gulp/libsass,因为它们处理文件流的方式不同。受此 ruby-gem 的启发,有 gulp-css-globbing。看起来这个项目有点过时了,但您可以自行承担使用它的风险。 在这篇博文:Sass Directory Imports With Gulp,您可以找到另一个解决方案,该解决方案涉及自动为每个文件夹创建一个文件,以导入其中的所有文件。对我来说有点复杂,但如果你真的需要它,它会起作用。
【讨论】:
非常感谢您的回答。以上是关于如何在 libsass 中导入目录的主要内容,如果未能解决你的问题,请参考以下文章