2

私は自分のサイトを構築するために CakePHP を使用しています (それが重要な場合)。それぞれが独自のファイルとかなり複雑な CSS (場合によっては) を持つ多数の要素/モジュールがあります。

現在、CSS は大規模な単一の CSS ファイルにありますが、健全性 (および以下で説明する詳細) のために、CSS を独自のそれぞれのファイルに保持できるようにしたいと考えていますcss/modules/rotator.css。しかし、通常の CSS では、大量の CSS ファイルを呼び出すことになります。

そこで、推奨ごとに SASS または LESS を調べ始めました。しかし、これらはコンパイルしてからアップロードすることになっているようです。しかし、私の場合、各ページは CMS を介して編集可能であるため、ページには 1 分間に 10 個のモジュールがあり、CMS の変更後は 20 個または 5 個になる可能性があります。また、CSS を使用しない場合は、モジュールごとに CSS をコンパイルする必要はありません。

すべてオンザフライでコンパイルできる大量の CSS ファイルを作成する方法はありますか?

補足: また、ユーザーがページやモジュールの独自の CSS を編集できるようにしたいと思います。これは、デフォルトの CSS の後に読み込まれます。これは SASS や LESS で可能ですか?

完全なウォークスルーは必要ありません (それはすばらしいことですが) が、これまでのところ、私の検索では、Ruby on Rails に関連する私の頭を悩ませているもの (使用したことはありません) か、それぞれの CSS 言語に関する一般的なチュートリアルが返されました。

その他の推奨事項は大歓迎です。私は完全な SASS/LESS 初心者です。

明確な質問:

LESS を使用して複数の CSS ファイルを動的に (サーバー側で) 結合するにはどうすればよいですか? (正しい軌道に乗せるためのリソースへのリンクでも十分です!)

4

4 に答える 4

6

CSS ファイルの数を減らしたい場合で、すべてのコンポーネント css を含む 1 つの巨大な css ファイルがある場合は、すべてのページでそのファイルにリンクし、キャッシュ ヘッダーを適切に設定してください。

彼らはファイルを一度ロードすれば、どこでもそれを使用します。1 つの落とし穴は、最初のページ読み込み時間です。それが問題でない場合は、このソリューションを使用してください。問題がある場合は、コンパイルした CSS ファイルをいくつかの主要なチャンク (default.css、authoring.css、components.css など) に分割することを検討してください。

コンポーネントのコレクションごとにカスタム css を作成しようとするのはやめましょう。実際には、さまざまな方法で再編成された同じ CSS をユーザーに再ダウンロードさせることになり、自分自身を傷つけることになります。

于 2013-03-21T14:13:57.490 に答える
3

lessphp をチェックしてください ( http://leafo.net/lessphp/ )。これは、less の php 実装であり、タイムスタンプを比較して変更されたファイルを再コンパイルできます。

于 2013-03-21T14:07:31.970 に答える
1

「オンザフライ」が「ページロード」を意味すると仮定すると、複数のファイルを送信するよりもさらに遅くなる可能性があります。モジュールを保存するたびにスタイルシートを再コンパイルすることをお勧めします。

于 2013-03-21T14:00:38.400 に答える
0

必要なモジュールのみを必要とする問題は、CMSを使用して解決する必要があります。SASSやLESSとは何の関係もありません。

CMSが現在のページにあるモジュールを認識している場合は、SASS / LESSコンパイルを実行しないでください(簡単なタスクではないキャッシュを実装しない限り、非常に遅くなります)。代わりに、各モジュールのCSSファイルが含まれるようにCMSのロジックを調整してください。

Drupalのような高度なCMSは、必要なCSSファイルのみを自動的にフェッチするだけでなく、それらを1つのファイルにアセンブルして圧縮します。

また、CSSが現在のページにあるモジュールを認識していない場合(たとえば、「モジュール」は単に投稿の本文に保存されるHTMLコードです)、実際には何もできません。

UPD:sequoia mcdowellが彼の回答で述べているように、ユーザーに1つの大きなCSSファイルを一度ダウンロードさせる方が、重複したコードを含む多数の小さなCSSファイルをダウンロードさせるよりも優れています。これらすべての小さいCSSファイルの累積サイズは、完全なCSSファイルのサイズよりも大きくなります。

于 2013-03-23T19:28:57.737 に答える