在 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 部分的子文件夹的主要内容,如果未能解决你的问题,请参考以下文章