105

有没有办法在没有 Ruby 的情况下使用 Sass 或 Compass 或类似的东西?

我一直在寻找谷歌和这个网站,找不到任何东西,任何帮助将不胜感激。谢谢

4

8 回答 8

53

Sass 最初是为 Ruby 编写的,但现在他们创建了libSass,它是 Sass 引擎的一个C/C++端口,这使得将引擎集成到 IDE 或其他语言中变得更加容易。此时,您可以在 Ruby、Node.jsPythonPHPJava.NET等中使用 Sass 引擎。有关更多信息,请访问libSass。此外,您的 IDE 可能有一个支持 Sass 的插件,而不需要使用 libSass 的 ruby​​。

下面的原始答案可能适用于您的情况,也可能不适用于您的情况(取决于您的语言是否实现了对 libSass 的支持)。出于存档原因,我决定将其保留原样。


Sass(需要 Ruby)

Sass 是用 Ruby 编写的,因此您还需要安装 Ruby。 取自 sass 的网站

Compass(需要 Ruby,因为它基于 SASS)

Compass 是一个开源 CSS 创作框架,它使用 Sass 样式表语言使编写样式表变得强大而简单。 取自指南针的网站

Less(用js编写,需要页面中包含node.js或less.js)

LESS 扩展了 CSS 的动态行为,例如变量、mixin、操作和函数。LESS 使用 Node.js 和 Rhino 在客户端(Chrome、Safari、Firefox)和服务器端运行。取自 Less 的网站

这些是我所知道的主要处理器。您可以为任何其他选择的语言编写自己的解析器/端口。

换句话说,不,你不能在没有 Ruby 的情况下使用 sass/compass,因为程序本身(sass 和 compass)是用 Ruby 编写的。所以你肯定需要它来运行它。

于 2012-09-29T23:02:26.010 回答
28

实际上有一个库为 Node.js 提供绑定到 libsass,即 Sass 的 C 版本:https ://npmjs.org/package/node-sass

它允许您在不安装 Ruby 的情况下以令人难以置信的速度将 .scss 文件本地编译为 css。

要安装只需运行:

npm install node-sass

如果需要,还有一个 Grunt 扩展:https ://github.com/sindresorhus/grunt-sass (这是我在这个问题中一直在寻找的)

了解更多信息:https ://github.com/andrew/node-sass

于 2014-01-22T21:03:09.930 回答
27

确实这个问题不够清楚,但我会尝试解决一些问题。还有其他不依赖 Ruby 的 CSS 预处理器(我现在想到的两个是Less 我使用过并喜欢,但不如 Sass 强大,还有Stylus,我没有使用过,两者都基于 JavaScript),但是当您特别询问 Sass + Compass 时,并且我仍在寻找相同的答案时,我将讨论这个问题。

@JamundFerguson 说:

有没有办法在没有 Ruby 的情况下编译 Sass?依靠。

Sass 是一种预处理语言。有一个用 Ruby 内置的编译器,任何人都可以用任何语言编写编译器。有一个名为libsass的 Sass 编译器的 C 实现,可用于任何允许导入 C 库的语言。它是node-sass使用的库,它是一个内置于Node.js的编译器,我还没有尝试过,也不知道它是如何工作的,以及它是否可以用于生产。移植 Compass 可能是一个时间问题(也许你最终会这样做?),因此我们可以拥有一个不依赖于 Ruby gem 的编译器(目前,有一个node-compass模块确实依赖于红宝石宝石)。

其他语言

到目前为止,我已经提到了 Node.js 编译器的可能性,您可能知道,它是一个 JavaScript 环境,是 Web 的语言和我选择的语言。但是您没有指定您希望将编译器写入哪种语言。我认为可能有多种语言构建的编译器,例如,@EricMeyer 提到了Python编译器。也许他正在使用pyScss?这似乎内置了对 Compass 的支持。但是你需要一个 Python 环境。所以问题是:除非您运行本机编译的二进制文件,否则您将需要一些编译器环境。(Less 有 less.js 可以包含在页面中以运行客户端并避免编译步骤,但它并不意味着在生产中使用它。)

原生应用

我已经使用CodeKit工作了一年,它非常好,编译 Sass/Compass、Less、Stylus 和 Haml、Slim、Jade 等模板语言。当它们自动更改时重建您的资产,您会立即在浏览器上看到更改。我唯一不喜欢的是,当移动到另一台计算机、安装 CodeKit、签出项目并尝试使用它时,我必须重新配置项目设置,我必须记住这些设置,以便进行构建就像我在另一台电脑上做的一样。此外,我开始与一个团队合作,他们还必须使用相同的设置配置项目(有时没有相同的项目配置会导致丑陋的不一致),而且使用 Ubuntu 的团队成员也无法使用它。那'一下子,就爱上了。正如@Dave 提到的,有Scout也有LiveReload,但没有使用它们。

结论

结论是我没有一个强有力的结论。我仍在寻找相同的答案,但我希望这个答案能对在 Ruby 环境之外编译 Sass/Compass 的状态有所了解。

于 2013-04-20T00:20:11.933 回答
11

只需对此进行一点更新,您就可以使用 SCSS/SASS 文件并即时生成正确的文件,而无需使用名为 Scout 的程序安装 Ruby。

Scout 有自己独立的 ruby​​ 环境,并且是用 java 编码的,所以在使用之前确保你的 java 是最新的。林奇在这里。

问候 :)

于 2013-01-07T19:33:51.643 回答
4

您实际上可以在没有 ruby​​ 的情况下解析 sass,您可以使用 node-sass。详细信息:https ://github.com/andrew/node-sass

于 2013-11-15T22:41:17.217 回答
2

如果这是针对 .NET 的,那么现在有一个 libsass 的包装器。可从Nuget 获得

于 2013-12-25T11:22:32.663 回答
2

Adobe Brackets(免费、开源)可以在文件更改时编译 LESS、SASS 和 Stylus,并在实时预览期间更新样式,您只需从扩展管理器安装所需的扩展。获取括号并享受!

编辑:正如其他问题所暗示的,如果您已经安装了 nodejs,node-sass也是一个不错的选择。

于 2014-09-18T08:11:51.063 回答
0

macOS 用户可以通过运行以下命令安装Dart Sass :

$ brew install sass/sass/sass

Windows 用户可以通过运行以下命令安装Dart Sass :

$ choco install sass

更多信息: https ://github.com/sass/dart-sass

于 2021-09-17T09:42:04.913 回答