ルビーなしのSassまたはCompass?


102

RubyなしでSassやCompassなどを使用する方法はありますか?

私はグーグルとこのサイトを見回していて、何も見つけることができません、どんな助けもいただければ幸いです。ありがとうございました



3
これは本当の質問ですか?どういう意味かわかりません。Rubyに依存しない他のCSSプリプロセッサはありますか?はい。RubyなしでSassをコンパイルする方法はありますか?依存します。もっと背景が必要です。
Jamund Ferguson、2012

ただし、パーサーに書き込む言語を指定する必要はありません。
アレハンドロガルシアイグレシアス

1
コンパイル済みのバージョンをダウンロードする方法はありますか?
William

回答:


53

SassはもともとRuby用に作成されたものですが、現在C/C++はSassエンジンのポートであるlibSassを作成しており、IDEや他の言語にエンジンを簡単に統合できます。この時点で、Ruby、Node.jsPythonPHPJava.NETなどでSassエンジンを使用できます。詳細については、libSassにアクセスしてください。また、IDEには、Sassをサポートするプラグインが含まれている場合があり、libSassを使用してRubyを使用する必要はありません。

以下の元の回答は、状況に適用される場合と適用されない場合があります(言語がlibSassのサポートを実装しているかどうかによって異なります)。アーカイブの理由からそのままにすることにしました。


Sass(Rubyが必要)

SassはRubyで記述されているため、Rubyもインストールする必要があります。 sassのサイトから取得

コンパス(SASSに基づいているため、Rubyが必要です)

CompassはオープンソースのCSSオーサリングフレームワークであり、Sassスタイルシート言語を使用してスタイルシートを強力かつ簡単に作成できます。 コンパスのサイトから取得

Less(jsで記述され、node.jsまたはless.jsがページに含まれている必要があります)

LESSは、変数、ミックスイン、操作、関数などの動的な動作でCSSを拡張します。LESSは、Node.jsとRhinoを使用して、クライアント側(Chrome、Safari、Firefox)とサーバー側の両方で実行されます。Lessのサイトからの引用

これらは私が知っている主要なプロセッサです。選択した他の言語用に独自のパーサー/ポートを作成できます。

つまり、プログラム自体(sass&compass)はRubyで記述されているため、Rubyがないとsass / compassを使用できません。そのため、実行するには間違いなく必要です。


これは技術的には正確ですが、さまざまなプラグインが自動的に処理できるため、実際にはそれほど重要ではありません。たとえばVisual Studioには、心配する必要がない自己完結型のルビー環境を備えたMindscape Workbenchプラグインがあります。それはあなたのためのコンパスを含みませんが、それは一種のダウンです。
ジョージマウアー

@TroyCosentinoまたはスタイラス
アレハンドロガルシアイグレシアス

いいえ、他の言語で同様のコンパイラを見つけることは試していません。コンパイルはゼロからほぼすべてのまともな言語で記述できるはずですが、これにはおそらく多くの時間がかかります。最初にcssを解析(およびcss構文のエラーを検出)できなければなりません。次に、cssを "再コンパイル"(つまり、再フォーマット)する必要があります(つまり、cssコードは1行です)。その後、おそらく継承を使用して複数のcssを追加する必要があります。時間があると感じたら、やってみて結果を私たちと共有してください:)
tftd

1
LESSは、.NETでdotLESS NuGetパッケージを使用してネイティブで実現することもできます。
David Boike 2013年

27

質問が十分に明確ではないことは事実ですが、いくつかの問題に取り組みます。Rubyに依存しない他のCSSプリプロセッサがあります(現在、私の頭に浮かぶ2つはLessで、これは私が使用して気に入っていましたが、Sassほど強力ではなく、使用していないStylusです。両方ともJavaScriptに基づいています)が、具体的にはSass + Compassについて質問しているため、同じ答えを探しているので、それについて説明します。

@JamundFergusonさんのコメント:

RubyなしでSassをコンパイルする方法はありますか?依存します。

有る

Sassは前処理言語です。Rubyにはコンパイラが組み込まれており、誰でも任意の言語でコンパイラを記述できます。libsassと呼ばれるSassコンパイラのC実装があり、Cライブラリをインポートできる任意の言語で使用できます。これは、Node.jsに組み込まれたコンパイラであるnode-sassで使用されるライブラリです。これはまだ試していないので、どのように機能するか、また本番環境で使用する準備ができているかどうかはわかりません。コンパスが移植されるまでの時間の問題かもしれません(たぶんあなたはそれをやるでしょうか?)そして、Ruby gemに依存しないコンパイラーを持つことができます(現在、依存するノードコンパスモジュールがあります) Ruby gem)。

他の言語

これまで、Node.jsコンパイラの可能性について説明してきました。ご存知のとおり、これはJavaScript環境であり、Webの言語であり、私の選択した言語です。しかし、コンパイラに書き込む言語を指定していません。私は多くの言語で構築されたコンパイラがあるかもしれないと思います、例えば、@ EricMeyerはPythonコンパイラについて述べました。多分彼はpyScssを使用してますか?これには、Compassのサポートが組み込まれているようです。ただし、Python環境が必要です。だから、事はある:あなたが必要がありますいくつかのコンパイラのための環境を使用すると、ネイティブにコンパイルされたバイナリを実行しない限り。(Less.jsが少ないため、クライアント側で実行してコンパイル手順を回避するためにページに含めることができますが、本番環境で使用するためのものではありません。)

ネイティブアプリ

CodeKitで1年間働いていますは非常にうまく機能し、Sass / Compass、Less、Stylus、およびHaml、Slim、Jadeなどのテンプレート言語をコンパイルします。アセットが自動的に変更され、変更がブラウザーにすぐに表示されると、アセットが再構築されます。私が気に入らなかった唯一のことは、別のコンピューターに移動し、CodeKitをインストールし、プロジェクトをチェックアウトして使用しようとすると、プロジェクト設定を再構成する必要があったことです。私が他のコンピュータで作ったもののように。また、私はチームで作業を開始し、彼らは同じ設定でプロジェクトを構成する必要があり(同じプロジェクト構成がないと、醜い矛盾が発生する場合があります)、Ubuntuを使用しているチームのメンバーもそれを使用できませんでした。それ'すぐに、それに夢中になりました。@Daveが述べたように、ScoutLiveReloadがありますが、使用していません。

結論

結論は、私は強い結論を持っていないことです。私はまだ同じ答えを探していますが、この答えがRuby環境の外でSass / Compassをコンパイルする状況に少し光を当てることを望みます。


1
libsassの状態:solitr.com/blog/2014/01/state-of-libsass。node-sassと他のsass-librariesが依存しています。
Ehtesh Choudhury 2014

27

実際には、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をご覧ください。


1
grunt-sassは私が探していたものでした。
9ilsdx 9rvj 0lo

11

これに関する少しの更新で、SCSS / SASSファイルを使用して、Scoutと呼ばれるプログラムを使用してRubyをインストールしなくても、その場で正しいファイルを生成できます。

Scoutには独自の自己完結型ルビー環境があり、Javaでコーディングされているため、Javaを使用する前に最新であることを確認してください。ここでリンキー。

よろしく:)


8
私はJavaではなくルビーを
使い

実際、私が書いている現時点では、このスカウトはAdobe Airを使用しています。たぶん古いバージョンはJavaを使用していましたか?
iconoclast

3
まだ空気よりルビー良い:)
x0x 2015年



2

Adobe Brackets(無料、オープンソース)は、ファイルが変更されたときにLESS、SASS、およびStylusをコンパイルし、ライブプレビュー中にスタイルを更新できます。必要な拡張機能を拡張機能マネージャーからインストールするだけです。ブラケットを入手をしてお楽しみください!

編集:nodejsが既にインストールされている場合は、他の質問からnode-sassも適切なオプションであることが示唆されています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.