1

ディレマは次のようなものです。

すべてのスクリプトブロックをマスターページ(一部のフレームワークにページを含める)に合わせようとすると、すべてのページにすべてのスクリプト(不要なスクリプトを含む)のコピーが取得され、これらがすぐに合計されてページサイズが大きくなります。

必要に応じてスクリプトブロックを含めたり挿入したりすると、JavaScriptがプロジェクト全体に広がります。

どこでバランスを保つのか悩んでいます。誰?

4

5 に答える 5

1

できるだけ多くの JavaScript を外部.jsファイルに抽出します。最も一般的に使用されるライブラリをマスターページに含めますが、個々のページでそのページに固有の JavaScript が必要な場合は、そのページにのみ読み込むことをお勧めします。どの.jsファイルがどのページによって読み込まれるかの相互参照を保持し、ライブラリが多くのページによって参照されている場合は、それをマスターページに移動します。

YUI Compressorなどのツールや JavaScript ライブラリの最小化と圧縮に使用するツールを使用して、すべての外部 JavaScript ライブラリを必ず圧縮/縮小してください。.

于 2009-05-14T16:51:09.343 に答える
1

すべての JS ファイルを含めることは大きな問題ではなく (読み込み時に遅いコードが実行されている場合を除きます)、ページがそれほど肥大化することもありません: 読み込まれると、ブラウザーはいずれにせよそれらをキャッシュするため、読み込みは 0 になります。次のページの時間。

もちろん、JS ファイルのコンテンツをページ自体に配置しない限りは! :-)

于 2009-05-14T16:44:42.493 に答える
1

ページ サイズの肥大化が懸念される場合は、Javascript を、それを必要とするページによって参照される別の js ファイル (または複数のファイル) に移動する必要があります。これは、初めての訪問者に対してより多くの HTTP リクエストがあることを意味しますが、ブラウザが Javascript をキャッシュできるため、サイトのすべてのページで再度取得する必要がなくなります。

于 2009-05-14T16:45:38.093 に答える
0

サイト全体の JS を縮小、マージ、および gzip します (実際には約 17 個のファイルが 2 つのファイルにマージされ、1 つはすべてのコード用で、もう 1 つは mootools や clientcide などのライブラリ コード用です)。これにより、スクリプトのダウンロードにかかる時間が大幅に短縮されます。圧縮とマージが行われ、その場でサーバーにキャッシュされるため、開発はまったく遅くなりません。上記のようにすべて圧縮すると、サイト全体のグッズの合計 JS は約 50K になります。

また、ファイルには長い有効期限が設定されています。すべてのファイルにはバージョン番号が付けられているため、変更を加えるとバージョン番号が上がり (簡単にするためにサイト全体のバージョン番号があります)、ユーザーは新しいバージョンを取得する必要があります。ダウンロードされたものは、ブラウザによってキャッシュされます。

それに加えて、JS をページのフッターに配置するようにしました。これにより、すべてがはるかに高速にレンダリングされ、JS をダウンロードしている間にユーザーが何かを確認できるようになります。

一部の個々のページには、必要な 1 回限りのスクリプト (検索フォームなど) があります。これらは上記と同じ扱いになります (つまり、必要なすべてのファイルがマージ、縮小、gzip されます)。ただし、サイト全体のコードはそのまま残されるため、キャッシングの使用。したがって、この例では、サイト全体、ライブラリ、およびそのページのカスタム コードの 3 つの JS ファイルをダウンロードできます。

于 2009-07-14T11:47:41.677 に答える
0

スクリプトを縮小する場合、それほど大きな問題ではありません.jqueryと同じくらい大きいものは、縮小後約50kです。

于 2009-05-14T16:47:24.860 に答える