1

css-tricks.com からこのような css ファイルに到達する方法を知りたい

http://cdn.css-tricks.com/wp-content/themes/CSS-Tricks-9/style.css?v=9.5

彼がこれを達成するためにphpを使用しているかどうかはわかりません。私は運が悪い無数の記事を読んできました。

また、.css の後にバージョン番号を吐き出すのは自動化されたものですか? それを見ていて、きれいなcssファイルを達成する方法を考えていました。

どんな助けでも大歓迎です!ありがとう。

4

2 に答える 2

2

Search / Replaceでエディターを使用して、不要なスペースをすべて取り除くのは簡単です。たとえば、CSSを作成するときは、キーワードを区切るためにスペースのみを使用します。改行とタブを使用して、読みやすくフォーマットします。したがって、すべてのタブと改行を空の文字列に置き換えるだけで、上記のようにCSSが「縮小」されます。

バージョン番号は、かなり一般的なキャッシュトリックです。サーバー側には何の影響もありませんが、ブラウザはそれを新しいファイルと見なし、そのようにキャッシュします。これにより、更新が行われたときにすべてのユーザーのキャッシュを簡単に削除できます。ただし、個人的には、PHP関数を使用して"?t=".filemtime($file)(つまり、ファイルが変更されたタイムスタンプを)自動的に追加するため、バージョン番号を手動で更新する手間が省けます。


JSファイルとCSSファイルに変更時間を自動的に追加するために使用する正確なコードは次のとおりです。

<?php
ob_start(function($data) {
    chdir($_SERVER['DOCUMENT_ROOT']);
    return preg_replace_callback(
        "(/(?:js|css)/.*?\.(?:js|css))",
                     // all the relevant files are in /js and /css folders of the root
        function($m) {
           if( file_exists(substr($m[0],1)))
               return $m[0]."?t=".filemtime(substr($m[0],1));
           else return $m[0];
        },
        $data
    );
});
?>
于 2012-06-17T23:48:34.290 に答える
1

CSSが破損する可能性があるため、手動で行うことは避けます。トリッキーにならずにそのような問題を解決できる優れたツールが利用可能です。

優れたソリューションは、アセット マネージャーであるAsseticであり、さまざまなツール (yuicompressor、Google クロージャーなど) を使用してフィルター処理 (縮小、圧縮) できます。

現在、デフォルトで Symfony2 にバンドルされていますが、どの PHP プロジェクトでもスタンドアロンで使用できます。Zend Framework プロジェクトでの実装に成功しました。

于 2012-06-17T23:56:55.930 に答える