没有Ruby,有没有办法使用Sass或Compass或类似的东西?
我一直在谷歌和这个网站周围,找不到任何东西,任何帮助,将不胜感激。谢谢
没有Ruby,有没有办法使用Sass或Compass或类似的东西?
我一直在谷歌和这个网站周围,找不到任何东西,任何帮助,将不胜感激。谢谢
Answers:
Sass最初是为Ruby编写的,但是现在他们创建了libSass,它是C/C++
Sass引擎的端口,这使得将引擎集成到IDE或其他语言中变得更加容易。此时,您可以在Ruby,Node.js,Python,PHP,Java,.NET等中使用Sass引擎。有关更多信息,请访问libSass。另外,您的IDE可能有一个支持Sass的插件,而无需使用libSass来使用ruby。
以下原始答案可能会或可能不会适用于您的情况(取决于您的语言是否已实现对libSass的支持)。出于存档原因,我决定保留原样。
Sass(需要Ruby)
Sass是用Ruby编写的,因此您还需要安装Ruby。 取自sass的网站
Compass(需要Ruby,因为它基于SASS)
Compass是一个开放源代码CSS创作框架,该框架使用Sass样式表语言使编写样式表功能强大而轻松。 取自指南针网站
更少(用js编写,要求页面中包含node.js或less.js)
LESS用动态行为(例如变量,mixin,操作和函数)扩展了CSS。LESS通过Node.js和Rhino在客户端(Chrome,Safari,Firefox)和服务器端运行。取自Less的网站
这些是我所知道的主要处理器。您可以为任何其他选择的语言编写自己的解析器/端口。
换句话说,没有程序,没有Ruby就不能使用sass / compass,因为程序本身(sass和指南针)是用Ruby编写的。因此,您肯定需要它才能运行它。
确实,这个问题还不够清楚,但是我将尝试解决一些问题。还有是不依赖于红宝石(二来我的脑海其他CSS预处理器现在是少,我已经使用并喜欢,但不是那样强大无礼的话,和手写笔,我没有用过,两者均基于JavaScript),但是当您具体询问Sass + Compass时,由于我仍在寻找相同的答案,因此我将在此进行讨论。
@JamundFerguson说:
有没有没有Ruby的Sass编译方法?要看。
Sass是一种预处理语言。Ruby内置了一个编译器,任何人都可以用任何语言编写编译器。一个名为libsass的Sass编译器的C实现可以在允许导入C库的任何语言上使用。它是node-sass使用的库,它是Node.js内置的编译器,我还没有尝试过,也不知道它如何工作以及是否可以投入生产。移植Compass可能是一个时间问题(也许您最终会这样做?),因此我们可以拥有一个不依赖Ruby gem的编译器(当前,有一个node-compass模块确实依赖于该模块)Ruby宝石)。
到目前为止,我已经提到了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编译状态有所了解。
实际上,有一个库可以为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
您实际上可以在不使用ruby的情况下解析sass,可以使用node-sass。详情在这里:https : //github.com/andrew/node-sass
如果这是用于.NET,那么现在有一个libsass的包装器。可从Nuget获得。
更改文件后, Adobe Brackets(免费,开源)可以编译LESS,SASS和Stylus,并在实时预览期间更新样式,您只需要从扩展管理器中安装所需的扩展即可。获取括号并享受!
编辑:其他问题建议如果已经安装了nodejs,node-sass也是一个不错的选择。