【问题标题】:Using Compass (sass) features without compass project在没有 compass 项目的情况下使用 Compass (sass) 功能
【发布时间】:2013-04-15 13:41:40
【问题描述】:

我的问题:我想使用一些指南针功能(主要是精灵生成和 css3 混合),但我不想为它创建指南针项目。我的项目结构应该比罗盘允许我创建的要复杂一些。所以我想用 sass 留在我的项目中,但是在其中导入和使用一些指南针功能。有可能吗?

【问题讨论】:

  • 您愿意分享更多关于您的项目组织和您使用的环境的信息吗?
  • 我想保持非常小的部分,比如块描述,所以会有很多。最好为每个块创建一个文件夹,其中包含 .scss、.js 和图像。否则数百个文件将变得一团糟。但我不能让指南针使用子文件夹中的部分。
  • Compass 不关心你在哪里填充你的部分,它只关心它需要实时编译的 Sass 文件的位置。如果您在图像上使用图像辅助函数,图像只需要存在于配置的图像目录中。
  • @cimmanon,嗯,我有一个名为“sass”的文件夹(在 config.rb 中配置),在里面我有一个名为“header”的文件夹,在这个文件夹里面有 _header。 scss 文件。当我尝试将部分标题导入 screen.scss 时,导入“header”和导入“header/_header”都不起作用。我也尝试过扩展 - 没办法。如果我可以添加所有子文件夹以包含搜索路径,那就太好了!

标签: sass compass-sass


【解决方案1】:

Compass 能够管理您的所有东西。试试看吧。

这是一个例子,这是我目前正在从事的 Compass 项目的结构:

首先,您应该有一个像sass 这样的文件夹来存储您的非部分SASS 文件,例如。 G。 sass/style.sasssass/screen.scss。你的config.rb 应该指向它。

然后创建一个名为 partials 的子文件夹,用于存储所有内容。

partials 子文件夹中,您开始创建结构:

sass/
  partials/
    _global.sass
    _modules.sass
  style.sass

你的style.sass的内容应该是这样的:

@import partials/global
@import partials/modules

这种结构很容易扩展。一旦您的部分变大并且您决定拆分它,只需创建一个以该部分命名的子文件夹,在那里创建较小的部分并从初始部分导入它们:

sass/
  partials/
    global/
      _extendables.sass
      _functions.sass
      _mixins.sass
      _variables.sass
    _global.sass
    _modules.sass
  style.sass

_global.sass的内容:

@import global/extendables
@import global/functions
@import global/mixins
@import global/variables

这使您的项目结构易于扩展。

请注意,如果您使用的是 SCSS 语法,则在 import 语句中需要使用引号,例如。 G。 @import "global/extendables";.

如果导入不适合您,请分享您的项目结构、您使用的确切代码以及您收到的错误文本。

【讨论】:

  • 现在它似乎工作了。我明白了,带有部分的文件夹应该命名为部分?它可以配置为另一个名称吗?我在配置参考中一无所获。
  • 文件夹名称可以是任何你想要的。在部分后命名文件夹只是扩大代码库的一种非常方便的方法。
  • @lomaus 好吧,谢谢,也许我做错了什么,但在我将文件夹命名为“partials”之前,我无法让它工作。现在文件夹名称无关紧要,看起来像是我的某种错误。不知道出了什么问题,但是现在任何文件夹结构都可以正常工作,即使所有子文件夹都在 saas 中。谢谢。希望我再也不会遇到这种奇怪的行为。
猜你喜欢
  • 2014-02-12
  • 1970-01-01
  • 2013-09-10
  • 2018-02-17
  • 2016-10-21
  • 1970-01-01
  • 1970-01-01
  • 2013-09-30
  • 2014-10-16
相关资源
最近更新 更多