Symfony 2 の CSS ファイルのアセットのパス
問題:
を使用して Symfony 2 で CSS ファイルと画像を統合する特定のディレクトリ構造。
試行された解決策:
-
絶対パス: CSS ファイル内の絶対パスを維持することは、次の理由によりスケーラブルなソリューションではありません。
-
「cssrewrite」フィルターを使用したアセティック: cssrewrite フィルターの使用は場合によっては役に立ちますが、間違ったパスが生成される可能性があります。
-
相対「../」を含むパス: このアプローチは開発環境では機能しますが、運用環境では問題が発生します。
最終解決策:
オプション 1: コンパイル後に元の CSS ファイルを削除する
- 元の CSS ファイルをプライベートの「assets」ディレクトリに保存します。
- CSS ファイルをパブリックにインストールします。 assetic:install を使用して web" ディレクトリに移動します。
- assetic:dump を実行して CSS をコンパイルし、最終バージョンを /web/css/stylexyz.css に生成します。
- 元の CSS ファイルを / から削除します。 assetic:dump 後のパブリック ディレクトリ
オプション 2: CSS を事前コンパイルし、パブリック ディレクトリに直接インストール
- 次を使用して CSS を事前コンパイルしますお好みの方法 (Sass、Less など)。
- コンパイル済みの CSS ファイルをパブリックの「web」ディレクトリにコピーします。
- assetic:install 経由で CSS ファイルをインストールします。コンパイルされた CSS ファイルへのシンボリックリンク。
- assetic:install 後にパブリック ディレクトリから元の CSS ファイルを削除します。
利点:
- 必要なディレクトリ構造に準拠します。
- 元の CSS ファイルの公開を防ぎます。
- 画像への正しいパス参照を保証します。
- の使用を許可します。 CSS フィルター。
考慮事項:
- 最終的な解決策では、CSS ファイルが事前に作成されていると想定しているため、Twig でのasset() の使用をスキップします。
- 必要に応じて CSS ファイルのインストールと削除を処理する展開または自動プロセスを設定することが重要です。
以上がSymfony 2 アプリケーションの CSS ファイルでアセット パスを管理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。