LESSファイルをCSSにコンパイルする方法はありますか(すべてのブラウザーがそうする必要はありません)?


20

LESSの使用を検討していますが、JavaScriptが無効になっており、CSSが読み込めない(およびサイトがひどいように見える)ブラウザの考えにうんざりしています。

また、変更するたびに一度「コンパイル」するだけで、すべてのブラウザーにそのLessファイルを.cssに「コンパイル」するように強制することは、私のエンジニアを怒らせます。


1
@ Anonymous- LESSをチェックアウトする場合は、SASSとCOMPASSもご覧ください。
ソーシー

スタイラスとOOCSSも同様の製品です。
Lèseはmajesté

1
サーバー上でLESSコンパイルを自動的に設定する方法を説明する関連する回答を掲載しました:webmasters.stackexchange.com/questions/38386/…–
romaninsh

3
ブラウザでLESSをコンパイルしている人はいませんでした!
ケニーエビット14年

回答:


17

はい。コーディング中に開発マシンでLESSファイルをCSSに自動コンパイルするアプリを使用できます。次に、開発が完了したら、生成されたCSSファイルをサーバーにアップロードします。



10

LESSには、.lessファイルをプリコンパイルできるバイナリ(lessc)が付属しています。次のように使用します。

 $ lessc styles.less > styles.css

しかし、私は、ほとんどの人がちょうど使用だと思うlessc -wか、lessc --watchLESSファイルが更新されるたびに自動的にCSSスタイルシートを再コンパイルするコマンドを。CSSをlesscで縮小することもできlessc -w -xます。

編集:明確にするために、lesscにはサーバー側のインストールが付属しています(つまり、node.jsパッケージマネージャーを使用してlessをインストールする場合)。ただし、GitHubから手動でダウンロードできます

lesscはにあり/bin/lesscます。もちろん、これは* nixのバイナリ(またはずMac用作品)ですが、そこにある、Windowsのバイナリ(lessc.exeは)別のWindows LESSコンパイラであるドットなし、に基づきます。

更新:less-watch自動的にコンパイルするために 使用します。

また、最近の多くの開発者は、gruntビルドオートメーション(コンパイル、縮小、テストなど)を処理するためにタスクランナーを使用しています。grunt-contrib-watchgrunt-contrib-lessおよびを使用するとgrunt-contrib-livereload、開発ワークフローを本当に効率化できます。

たとえばyo、新しいWebプロジェクトの足場として使用する場合、LESS / CSS / JS / HTMLファイルの変更を監視し、必要に応じてプロジェクトの必要な部分を再コンパイルするように事前構成されています。単に実行するだけでgrunt serve、コードを手動でコンパイル(LESS / SASS / CoffeeScript)/コードの縮小/連結、または穴居人のように手動でブラウザを更新することを心配せずにコーディングできます...


1
使用しているバージョンがわかりません。最新バージョン1.3.0には--watch機能はありません。--watch機能のプルリクエストは9か月前に撃downされました。github.com/cloudhead/less.js/pull/246
ジェラルドロシュ

@BullfrogBlues:申し訳ありませんが、それは古いRubyベースのlesscからでした。
Lèseはmajesté

注:「less-watchはfs-changeに名前が変更されました。代わりにそれを使用してくださいnpm install -g fs-change。」
アンドリューロット

6

サーバー上でLESSをCSSにコンパイルするための多くのオプションがあり、選択するオプションはおそらくサイトの他の部分で使用するものに依存します。

  • node.jsを使用する場合、元のlesscssがジョブを実行します。
  • PHPを使用する場合、lessphp。PHPから変数を渡すことに関しては、多少ごみのAPIがありますが、仕事はします。
  • Rubyを使用している場合、SASSはLESSではありませんが、SASS(個人プロジェクト)からLESS(職場のPHPプロジェクト)に切り替えたとき、ファイル拡張子以外の違いに気付かなかったので、非常に似ています。また、ミックスインの便利なライブラリを持っている- COMPASS。私はLESSでそれらを使用しようとしませんでしたが、私は彼らが動作すると期待しています。(どうやらLESSは元々Rubyだったので、おそらくどこかに古いコンパイラが浮かんでいるようです)。
  • ASP.Netを使用する場合、.lessがあります。私はこれを使用していませんので、それがどれだけうまく機能するかわかりません。
  • Javaを使用する場合、lesscss4jは元のLESSとJava 6の組み込みRhinoスクリプト環境でコンパイルを終了します。
  • Perlを使用する場合、CPANにLESSpモジュールがあります。

2
古いLESS Ruby gemに同梱されているRubyコンパイラがあります、これ更新されていないため、多くの新機能が動作しません。したがって、Rubyを使用する場合lesscは、最新バージョンのless.jsに基づくバイナリコンパイラを使用することをお勧めします。
Lèseはmajesté

@Lèsemajesté、私はSASSに行きますが、RubyでLESSをコンパイルする可能性を故意に無視したとして非難されたくありませんでした。
ピーターテイラー

1
そうです、LSS gemはJSへの切り替え以降廃止されているため、SASSはRubyにとって最良の選択肢になると思います。
Lèseはmajesté
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.