Symfony 2 の CSS ファイル内のアセットのパス
この説明は、望ましいものを維持しながら CSS ファイル内の画像を参照するためのソリューションを見つけることに焦点を当てています。 Symfony 2 のディレクトリ構造。目標は、CSS ファイル内のパスの問題に対処し、元のソース ファイルを公開せずに画像にアクセスできるようにすることです。
以前の解決策
最初の試みでは、CSS ファイル内の絶対パスをハードコーディングする必要があったため、アプリケーションはサブディレクトリと互換性がなくなりました。 filter="cssrewrite" を指定したアセットも使用されましたが、間違ったパスが生成されました。
現在の (推奨) ソリューション
推奨されるソリューションでは、CSS ファイルを次の場所に保存する必要があります。 「Resources/assets/css」ディレクトリと「Resources/public/images」ディレクトリ内の画像。 「url("../images/myimage.png")」などの CSS ファイル内での相対参照により、コンパイル時に正しいパスが生成されます。このアプローチは、開発環境と運用環境の両方で問題なく機能します。
ディスカッションと分析
著者は、@記法、相対記法、CSS 書き換え、画像の背景とソース、およびアセットの有無による解析。結果は、特定のオプションのみが望ましい動作をもたらすことが明らかになりました。
解決策の説明
成功するアプローチには次のものが必要です。
最終的な考えと考慮事項
セキュリティを強化するために、元の CSS ファイルを次の場所に保存することをお勧めします。 「assets」ディレクトリに保存し、コンパイル前に展開プロセスでそれらを「public」ディレクトリにコピーします。あるいは、コンパイル後にこれらのファイルを削除するスクリプトを作成すれば、開発中に --symlink を使用するためにオリジナルを「public」ディレクトリに保存することも可能です。
以上がSymfony 2 で CSS ファイル内の画像を適切に参照するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。