1

大量の CSS を含む大規模な ASP.NET MVC アプリケーションがあり、最大 105 個の個別のファイルがあります。これらのファイルはコンポーネントごとに分けられているため、管理が容易になります。実行時に、ハンドラーを使用してこれらを縮小/結合します。

さらに、アプリケーションはスキン設定を利用します。管理者は、サイトのフォントと色をカスタマイズできます。これらのスキン設定は、NVelocity を使用して CSS ファイルに挿入されます。NVelocity は古いですが、非常にパフォーマンスが高いです。

CSS の使用量を減らしたいと考えています。これにより、CSS ファイル内のコードの再利用とクリーンアップが可能になります。これを行うための最良のオプションについて苦労しています。私の現在の考え方は次のとおりです。

  1. 管理者がスキンを変更して保存する
  2. アプリケーションを保存すると、ディスク上に skin.less ファイルが生成されます。これは、すべての変数を含むマスターレス ファイルです。
  3. より少ない変数を必要とする後続の CSS ファイルは、skin.less で @import を実行します。
  4. より少ないファイルが処理され、ハンドラーで縮小/結合され、クライアントに提供されます。

私の質問は、動的変数をより少ないファイルに提供するための最良のアプローチのように思えますか? ディスク上に skin.less ファイルを生成することが私の唯一のオプションですか、それとも @import ステートメントがハンドラー自体を参照できるので、ディスク上にファイルを生成する必要はありませんか?

4

1 に答える 1

0

この方法でできると思います。あなたが話していることとまったく同じではありませんが、ここでスキニングで LESS を使用するための概念実証を少し行いました。

https://github.com/aguyawry/less_tests

1 つの違いは、この POC では、ブランド化された less ファイルがマークアップに読み込まれるファイルであり、ベース アプリ スタイルをインポートしてから、ベースの初期値をオーバーライドする新しい変数を指定することだと思います。

この POC はすべてクライアント側ですが、実際にはサーバー側でも行います。実際には、クライアントが自分でスタイル (背景色、境界線の色など) を選択し、そこからスキン スタイル シートをシステムにレンダリングするための UI を構築する方向に進んでいます。

サーバー側ですべてを行っているため、TheZ のコメントは当てはまらないと思います。ブロッキングは、このクライアント側で実行している場合にのみ発生します。

于 2013-01-04T21:24:41.243 に答える