在 Compass 项目目录结构中使用 Sass 部分的子文件夹

Posted

技术标签:

【中文标题】在 Compass 项目目录结构中使用 Sass 部分的子文件夹【英文标题】:Using subfolders for Sass partials in Compass project directory structure 【发布时间】:2011-06-22 05:26:21 【问题描述】:

我已经启动并运行了一个 src 目录中的 scss 文件的 compass 项目,这些文件正在作为 css 编译到 sttylesheets 目录中。这一切都很好,我可以使用 sass @import 命令没问题。

但是,我想为我的 sass 部分添加一些组织,并将它们放入 src 目录中的相关文件夹中。但是,当我尝试这样做时,@import 命令会失败。

有没有办法做到这一点?

更新:我在 compass 文档中发现我可以将 add_import_path 添加到我的配置文件中,但我也无法让它工作。我尝试了目录的完整路径和相对于项目的路径,但没有任何反应。

请有人帮忙,这不可能这么难!

【问题讨论】:

我找到了解决方案[这里][1]!!这很简单。 [1]:***.com/a/12945982/1135284 【参考方案1】:

如果您将部分文件放在 src/partials 目录中,只需在 sass/scss 文件中使用 @import "partials/name" 即可导入它们。

【讨论】:

@musoNic80:奇怪,因为它对我有用。也许您在拼写名称或其他方面犯了一些错误? 不,我检查并仔细检查了!【参考方案2】:

我发现在我使用 compass / sass 的 webby 静态项目中,我必须明确设置要使用的基本 sass 路径,以便它能够获取 sass 导入(除了导入之外,一切正常)。

所以我最终在指南针配置块中做了这样的事情: config.sass_dir = File.join('content', 'css')

我想这是因为我使用的不是默认的 sass 路径,所以当我 @import 时,它正在查看默认路径而不是实际路径。

希望对您有所帮助。

【讨论】:

【参考方案3】:

结果证明我做错了事。在使用指南针做任何事情之前,我试图提高效率并组织我的文件夹结构。我意识到我需要先设置指南针来观察项目,然后再创建一个文件夹结构。这样,文件夹结构就会复制到我的样式表或 CSS 文件夹中,而不仅仅是在源文件夹中。现在一切正常!

【讨论】:

“设置罗盘看项目”是怎么做的?我也在尝试找出一种构建我的 app/assets/stylesheets 目录的好方法。你知道任何地方都有一个好的示例应用程序吗?我在 Rails 3.2 上。 一切都在指南针文档中。在命令行输入 compass watch /path/to/project【参考方案4】:

我遇到了同样的问题。实际上我是从 rails + sprockets 项目迁移到独立项目。

我不知道为什么,但是 Compass 不适用于 sprockets 样式的文件名,例如 screen.css.scss。我将所有文件重命名为 screen.scss 并且所有部分都按预期工作。

【讨论】:

【参考方案5】:

我遇到了类似的问题。这对我来说非常愚蠢——但话又说回来,编程中的大多数问题都是如此。我的问题是,尽管我已经为独立设备正确设置了所有内容,但根据:

https://github.com/twbs/bootstrap-sass

我使用的是这样的子文件夹结构:

project
-- stylesheets
-- bootstrap
-- sass
---- main.scss
------- subfolder1
----------- partial.scss
------- subfolder2
----------- partial2.scss

在我的 main.scss 中,我确实正确使用了 @import,例如:

@import "subfolder1/partial.scss"

问题是这样的: 只有在文件名以下划线开头时,Compass 才能正确看到部分内容!

将文件重命名为 _partial1.scss 和 _partial2.scss 后,一切正常。

【讨论】:

以上是关于在 Compass 项目目录结构中使用 Sass 部分的子文件夹的主要内容,如果未能解决你的问题,请参考以下文章

Allenmind‘s Blog

compass sass

防止 SASS/Compass 输出分音

Sass 和 Compass 中的背景图像路径

Sass ,Scss 简单教程

SASS Compass 生成一个 0 KB 的文件