【问题标题】:A way to prevent compilation of SCSS/SASS files without appending _ to their name?一种防止编译 SCSS/SASS 文件而不在其名称后附加 _ 的方法?
【发布时间】:2013-08-16 00:37:21
【问题描述】:

我在项目中使用Foundation 4 standalone 作为只读git 子模块,并且需要将其所有scss 文件合并到一个伞形project.scss 文件中,然后将其编译为project.css

我正在使用 Compass 进行编译,但是它会编译任何未附加下划线的 scss 文件,因此 foundation/scss/normalize.scssfoundation/scss/foundation.scss 都被编译两次 - 每个独立一次,并且还编译到我的 project.scss 导入文件中两者都有。

除了在normalize.scssfoundation.scss 后面加上下划线之外,还有什么方法可以防止编译?我宁愿不附加下划线 b/c 我想完全按照官方 repo 中的方式使用 Foundation 独立项目,只需将其导入到所有自定义项所在的特定于项目的 project.scss 中。

编辑:更多解释 - 我正在使用由 SBT 管理的 Scala 框架,它通过 SBT 插件对 Compass 进行系统调用。 Compass compile 仍然在我的项目根目录中读取 config.rb 以获取源和目标目录,但我不确定此设置中是否有其他 Compass 技巧/是否可用。

我更希望 config.rb 中的某种语法技巧或 Compass 命令行标志可以告诉它编译 [project root]/sass 中的所有 .scss 文件,但不是递归的,例如,不要编译[project root]/sass/foundation 或其他子目录中的任何内容。有谁知道这样的事吗?

【问题讨论】:

  • 为什么需要单独使用 Foundation?
  • 我没有使用 Ruby 框架,我使用的是由 SBT 管理的 Scala 框架,它通过插件调用的 Compass compile 编译 SASS。这让我想到了,也许另一种方法是将 Foundation 导入 config.rb 并查看 Compass 是否也可以这样编译。但是,不确定将我的 project.scss 文件放在哪里。 Compass 新手,但我仍然在整合这两种技术。
  • 我仍然没有看到你不能将 Foundation 用作 Compass 扩展的原因(我也没有将 Ruby 用于 Compass/Sass 以外的任何东西) ,这将解决您的整个问题。
  • 好的,谢谢,我会试试这个想法,看看能不能实现。

标签: sass compass-sass zurb-foundation


【解决方案1】:

解决方案很简单:不要将 Foundation 文件包含到您的项目中。

相反,将其安装为 Compass 扩展并从您的 Compass 配置中要求它。

请注意,通过 Gemfile (bundler) 安装优于使用 gem install 手动安装。

【讨论】:

  • 虽然我同意这可行,但他更有可能只是两次导入基础。我记得我刚开始使用 scss 并没有完全理解 @import 做了什么。我有一个 170,000 行的 css 文件。大声笑
  • @Andrey - 谢谢,但我没有使用 Ruby 框架,我使用的是由 SBT 管理的 Scala 框架,它通过插件对 Compass 进行系统调用以编译 SASS。 Compass 仍然使用 [project root]/config.rb 来找出 SASS 源和目标目录的位置。
  • @zmanc - 哈哈,令人讨厌的惊喜。很确定这里不是这种情况,尽管我已经将 config.rb 中的 @import foundation 行注释掉了,而且我知道它正在我的基础独立子模块 b/c 中编译 SASS 它也在编译我的自定义 project.scss one目录向上,这是我在 config.rb 中指定的。
  • 基本上,我希望有一些我可以添加到config.rb 的语法或命令行切换到 Compass 编译或可以做到这一点的东西。比如说,编译 [project root]/sass 中的所有 .scss 文件,但不要递归,例如不要编译 [project root]/sass/foundation 中的任何东西,即使是没有下划线的东西。
  • Compass 是 Ruby 软件。如果您使用 Compass,那么您的系统中确实有 Ruby。从项目中删除 Foundation,运行 gem install zurb-foundation,将 require zurb-foundation 添加到 compass.rb 并将 @import "foundation"; 添加到 SCSS 代码的开头。如果您不相信我,请听听@cimmanon,他是真正的 SASS 专家。
猜你喜欢
  • 1970-01-01
  • 2018-10-11
  • 2014-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多