2011-06-29 15 views
0

私はこのプロジェクトでVisual Studio 2010、.NET 4、およびMVC 2を使用しています.YUIコンプレッサをポストビルドイベントとして実行しています。CSSの分割/マージ後にイメージを展開する

私たちは保守不能な1つの大きなCSSファイルを持っていますので、別のフォルダにある多くのCSSファイルに分割しました。

  1. /Assets/Styles/Site.css
  2. /Assets/Styles/Pages/Page1.css
  3. /Assets/Styles/Pages/Page2.css
  4. /資産/スタイル/ページ/ページ-nth.css
  5. /Assets/Styles/Partials/Partial1.css
  6. /Assets/Styles/Partials/Partial1.css
  7. /Assets/Styles/Partials/Partial-nth.css

そういうもの。

これは開発には適していますが、本番用ではありません。生産時には、1つのファイルだけがマージされたものです。このファイルは/Assets/Styles/style.cssにあります。

イメージパスが同じではない可能性があるため、 devとprodで。 (ステージングとuatも持っていますが、単純にしておきます)

私は絶対パスを使うことができました。 css/Partials.css)、またはクッキーフリーのサブドメイン(static.domain.com)を使用することができます。これは私がしたいことです。

私の質問は、自動的に私のCSSファイルの "../../image.png"から "http://static.domain.com/image.png"に自動的に変更されますか? YUIコンプレッサーはそれを行うことができますか?私はちょうどそれを行うコンソールコンソールプロジェクトを作成する必要がありますか?あなたは私のためにそれを行うツールを知っていますか?他の提案?

ありがとうございます!

答えて

0

YUI-コンプレッサーはできません。

ファイルをループし、すべてのパスを新しい絶対パスに置き換える必要があります。あなたは簡単にこれを正規表現で行うことができます。 Windowsのバッチでこれを簡単に実行できるかどうかは分かりませんが、unix sedや任意のスクリプト(perl、pythonなど)では簡単です。 .NETに慣れている場合は、コンソールプロジェクトをビルドしてポストビルドイベントとして実行できます。

これが役に立ちます。

+0

ああ、それは私がやらなければならないものです... bleh – Michael

関連する問題