2

別のサーバー上の画像リソースへの完全修飾参照を含むスタイルシートが与えられた場合、異なるベース URL を必要とするさまざまな環境でプロモーションを処理する良い方法はありますか?

背景画像: url (環境固有の URL/リソース名.foo);

environmentSpecificURL は環境ごとに異なるため、開発、qa、ステージング、本番などの段階でこのファイルを変更したくありません。

私にはアイデアがありますが、他の人がこれにどのように対処したかに興味があります。私のアイデアの 1 つを投稿します。

画像リソースが同じサーバー上に存在せず、それが変更される URL であることを (別の応答に基づいて) 強調させてください。そのため、その状況では相対パスは機能しません。

また、URL の複数のインスタンスが存在する可能性がある css を変更する必要を回避し、その URL を構成の 1 つのポイントに集中させようとしています。

助けて!

4

8 に答える 8

3

参照するリソースは、実際には css ファイルに対して相対的なレベルにある必要があります。そのため、「..\resourceName.foo」が機能するだけです。

もちろん、サイトの環境固有の領域を自動生成するビルド ツールを調べることもできます。そのため、css ファイル、.properties ファイルなどのすべてのプロパティは、ビルド ツール リンク ANT または MSBuild を介して動的に生成されます。

于 2008-10-08T22:43:01.663 に答える
2

CSS スタイルシート内では、ベース URL はスタイルシートの URL であり、それを含むドキュメントの URL ではありません。スタイルシート内の URL を相対にして、スタイルシートを適切に配置します。

于 2008-10-08T22:45:53.263 に答える
1

定義を URL に置き換えて結果をキャッシュする構成可能な CSS プリプロセッサを作成できます。

于 2008-10-08T22:41:09.887 に答える
0

.Less CSSプリプロセッサを使用して、実行時に変数を交換することができます。

そうは言っても、どのように展開していますか?CIツールを使用し、デプロイメントを自動的にスクリプト化した場合は、ビルド後の手順を含めて、このベースパスの置き換えを見つけることができます。

于 2009-11-01T17:09:03.380 に答える
0

<base />タグを使用し、他のすべての相対リクエストが解決されるベース URL を設定することで、目的を達成できる場合があります。

于 2008-10-09T08:22:43.910 に答える
0

私の考え:

画像を取得し、構成ファイルのベース URL の変更を処理するために、Web アプリケーションでローカルにハンドラー/etc を開発します。

背景画像: url (localHandler.ashx(aspx)/resourceName.foo);

localHandler が宛先リソースを呼び出し、コンテンツ タイプに基づいてリソースを返す場所。

于 2008-10-08T22:40:59.373 に答える
0

環境全体で一貫性を保つか (私は常にこのアプローチを好みます)、CSS を動的に生成します。

于 2008-10-08T22:43:07.450 に答える
0

ビルド環境によっては、リソース ファイルを処理し、変数を目的の値に置き換えるメカニズムが存在する可能性があります。

私はJava開発にMavenを使用しており、この機能が組み込まれています。

于 2008-10-08T22:43:46.950 に答える