如何在 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 中导入目录的主要内容,如果未能解决你的问题,请参考以下文章

如何在同一目录或子目录中导入类?

如何在R中导入CSV文件? [关闭]

如何从上面的目录中导入包/模块[重复]

如何使用 PostCSS 在 Vue 中导入全局 CSS?

如何在 Objective-C 中导入 SKTUtils?

如何在 Pandas Dataframe 中导入多个 excel 文件