【问题标题】:If SASS is part of HAML, why do I need Compass in Merb?如果 SASS 是 HAML 的一部分,为什么我需要在 Merb 中使用 Compass?
【发布时间】:2010-06-24 14:23:48
【问题描述】:

这是一个理论问题,也是一个实际问题。我只是无法理解所有这些技术是如何相互结合的......

我听说过很多事情,包括:

所以我的问题是:...什么??

我确实有 SASS 在 Merb 中工作。我已经安装了 Compass 并使用了 Chris Eppstein 的 Github wiki 上的说明来让它工作。但是为什么需要 Compass,为什么许多消息来源似乎认为不需要它并且 HAML 或 Merb 中内置了 SASS 支持?

【问题讨论】:

    标签: html sass compass-sass merb


    【解决方案1】:

    “HAML 和 SASS 包含在 Merb 中”

    不,它们是分开的。

    “SASS 是 HAML 的一部分”

    Sass 和 Haml,虽然在技术上完全不同的库,但它们捆绑在一起。它们都是haml gem 的一部分。所以你需要安装那个 gem 才能使用 Sass。请注意,这并不要求您在应用程序中实际使用 Haml。

    “HAML 在 Merb 中工作,但要使用 SASS,您需要添加 'merb-haml' 依赖项”

    实际上是相反的。您可以通过安装 merb-haml gem 在 merb 中使用 Haml。这添加了特定于 Haml 的 merb 生成器并插入到 merb 模板中。然而,Sass 只需要 haml 依赖项(在 config/dependencies.rb 中)就可以与 merb 一起使用。

    “您需要 Compass 才能在 Merb 中运行 SASS”

    不正确。 Compass 是一个建立在 Sass 之上的框架。它有大量用于 CSS 样式的通用函数。但是你不需要 Compass 来使用 Sass。你可以看看the docs

    【讨论】:

    • 这是非常有用的! :) 谢谢。因此,如果不需要 Compass,我如何让 Merb 从 SASS 生成样式表?我有 stylesheets/sass/style.sass 并有一个指向相应 stylesheet/style.css 的链接,但它没有被转换,我得到“Controller class not found for controller `stylesheets'.
    • 从头开始!它确实有效!我的样式表链接仍然指向'stylesheets/compiled/...' 但是,我现在将更改 init.rb 中的样式表位置 - sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#options
    猜你喜欢
    • 2010-11-06
    • 2010-10-23
    • 2011-12-29
    • 1970-01-01
    • 2015-02-10
    • 2012-03-17
    • 1970-01-01
    • 1970-01-01
    • 2011-06-25
    相关资源
    最近更新 更多