0

独自に記述した JS コード (jquery のような js ライブラリではない) を管理する際に、次の懸念があります。

javascript を html のみに関連付けるか、サーバー側のコードに関連付ける方がよいでしょうか。サーバー側のコードから JS コードを返すか、別の JS ファイルを作成して html コードから参照するか、html ページ内にイベントを書き込む方がよいということですか?

ここで例を挙げたいと思います:

登録とログインの 2 つのサーバー サイド ページがあり、登録フォームとログイン フォームの検証に使用する jquery 検証プラグイン (スクリプト タグを使用して html で参照) を使用しているとします。その場合、検証を記述する必要があります。ログインページのJS ステートメントと、登録ページ$('.login_form').validate();の検証 JS ステートメント 。$('.register_form').validate();

2 つの js ファイル (login.js、register.js) を作成し、その js ファイルに各ステートメントを追加するか、html ページ自体にコードを記述するか、各ページのサーバー側コードから js コードを返す必要がありますか?

ここで私の混乱は、2 つの別々のファイルを作成する場合、JS コードを別々に維持する方がよいということですが、パフォーマンスとページの読み込みに関しては、ブラウザは 1 行のステートメントしかない追加の js ファイルを読み込む必要があります。一方、サーバー側のコードを使用して JS コードを生成する場合、JS コードを維持するのは難しいですが、パフォーマンスに関しては、その方が良いと思います。

では、保守性とパフォーマンスを考慮して、あなたの提案は何ですか?

4

1 に答える 1

0

通常、すべての javascript をサーバー側のさまざまなファイルに書き込み、開発中にページからリンクしますが、uglifyjsなどを使用して、本番環境用の html ファイルからリンクした 1 つのファイルにすべてを圧縮します。 .

これにより、複数のファイルで開発し、コードを適切に構造化したままにすることができますが、本番環境ではブラウザでファイルを 1 つだけダウンロードし、http リクエストを 1 つだけ作成できます。

サーバー側の PHP/Python/Java/コードを html に直接書き込む必要がない理由は、ブラウザがコードをキャッシュできないためです。ブラウザは、サイトのすべてのページでそのコードをダウンロードする必要があります。キャッシュ制御ヘッダーが設定された 1 つの外部 JavaScript ファイルにすべて含まれている場合は、はるかに優れています。

そうすれば、ブラウザーはスクリプトを 1 回だけダウンロードし、ユーザーが Web サイトで最初に目にするページでのみダウンロードし、他のすべてのページの読み込みでキャッシュから読み込みます。

于 2013-03-19T09:49:15.680 に答える