1

インターネットで Web 開発について読んでいると、javascript ファイルと css ファイルを複数のファイルに分割する必要があるとよく耳にします。
css ファイルを次のように分割します。

  • clear.css
  • base.css
  • page_specific.css

または、配置、色、タイポグラフィの情報を含むファイルに分割する必要もあります。

しかし、ブラウザは同時に 2 つの http 要求しか作成できないというのは本当ではないでしょうか? ファイルをその数に分割すると、http 要求の負荷全体が作成されます。それらを、ページ固有のファイルとベース/クリア css ファイルの 2 つのファイルに分割する方がよいのではないでしょうか? そして、大量のキャッシュヘッダーでそれらを送信しますか?

ファイルを分割する方が開発が簡単なのは理解できますが、速度がより重要ではないでしょうか?

4

7 に答える 7

8

時期尚早の最適化はすべての悪の根源です。まず、コードの記述と保守を簡単にします。後で、ファイルの数がボトルネックになっていることがわかった場合は、ビルドプロセスにステップを追加して、それらを1つのファイルに結合することができます。この手順では、コメントと空白を削除することもできます。

于 2008-12-20T11:34:27.253 に答える
3

正常なメンテナンスのために、必要に応じて適度に分割します。接続、パイプライン化、およびキャッシングごとのHTTP 1.1の複数の要求は、複数のファイルを持つことの過剰な問題を軽減するのに大いに役立ちます。そうは言っても、私は何百人もの小さなバガーを持ちたくありません。しかし、確かに3〜7個のCSSファイル。そして、JSとCSSをHTMLから完全に分離します。

于 2008-12-20T11:34:14.490 に答える
3

それは全体の時期尚早な最適化です。

自分にとって最も意味のある方法でコードを整理してから、サイトを公開するときにファイルを組み合わせるためのツールを見つける方がよいと思います。これを行うスクリプトはたくさんあります。

1ページに多数のファイルがあると、確かにパフォーマンスが低下します。

IE7-サーバーごとに2つの同時HTTP接続をサポートします。IE8はこれを6に増やします。

HTTP 1.1でサポートされているように、パイプライン処理によって接続制限の問題が軽減されると思いますが、FFおよびIEではデフォルトで無効になっており、Operaでは有効になっています。

MS Ajax Control Toolkitには、実際にはToolkitScriptManagerコントロールと組み合わせた組み込みスクリプトがあります。

優れたMSDN記事ASP.NET用のツール、および別の

于 2008-12-20T11:35:05.363 に答える
2

両方の長所を持ってみませんか?

私が自分のプロジェクトで行っているのは、複数のCSSファイルとJSファイルをsrcディレクトリに保持し、それらを結合してそれぞれを「myproject.pack.js」または「myproject.pack.css」ファイルに圧縮(パック)するスクリプトを作成することです。 。私のIDEでこのスクリプトを実行するためのショートカットを作成すると、これは完全に簡単になり、単一のHTTPリクエストと最小化されたコードの利点と組み合わせて、JSファイルとCSSファイルにコメントを付けて論理的に分離するという利点が得られます。

于 2008-12-20T11:46:48.443 に答える
1

別々のファイルを作成する方が良いと思います-それははるかに「サポート可能な」アプローチです。

しかし、本番環境では、ある種のソリューションを使用して、CSS(またはJS)ファイルを1つのファイルに結合できます。

JavascriptとCSSを1つのファイルに自動的に結合します

于 2008-12-20T11:29:26.543 に答える
1

こんばんは

Steve Souders によって Yahoo で開発されたルールを確認し、関連する YSlow プラグインをインストールすることをお勧めしますが...

YSlow をグーグルで検索すると、 Jeff Attwood の Coding Horror サイトで、Jeff が述べているように、YSlow のアドバイスを調整するという興味深い記事にたどり着きました。

... Yahoo の問題は必ずしもあなたの問題ではありません。

この記事は、あなたが尋ねる質問に役立つ情報でいっぱいであり、「YSlow プラグインを使用して提案に従ってください」という単純なアドバイス以上のものを提供します.

間違いなく付加価値。ありがとうジェフ。

乾杯、

ロブ

于 2008-12-20T12:47:28.103 に答える
-1

ここに私の 2 セントがあります: 100 個の JS/CSS ファイルがあり、それぞれが 1MB であっても問題ありません。ページを最初に開く速度が遅くなるだけです。その後、それらはクライアントにキャッシュされ、すべて問題ありません。したがって、間違いなく保守性と論理的な分離を求めてください。

于 2008-12-20T12:57:06.243 に答える