0

次のことを行うスクリプトを作成することを考えていました。

  1. サーバーで使用されているJSディレクトリからすべてのjavascriptを取得します
  2. すべてのスクリプトを 1 つに結合 - 複数ではなく 1 つのリクエストのみを作成します。
  3. 結合スクリプトを縮小する
  4. ファイルをキャッシュする

ファイルをロードする必要がある順序が構成ファイルのどこかに書かれているとしましょう。

myexamplepage.com をロードすると、実際には jQuery、backbone、mootools、prototype、その他いくつかのライブラリを使用しますが、サーバーにこれらの複数のファイルを要求する代わりに、myexamplepage.com/js/getjs を呼び出し、取得したものを組み合わせて縮小した JS を取得します。ファイル。そうすれば、サーバーへの追加のリクエストを排除できます。ウェブサイトの高速化についてネットで読んだところ、サーバーへのリクエストが増えるほど、ウェブが遅くなることがわかりました。

私はプログラミングの世界にかなり慣れていないので、私が考える多くのことがすでに存在することを知っています。これも例外ではないと思います。

したがって、私が説明したこととまったく同じまたは類似していることを知っていることをリストしてください.クラスヘルパーのみを使用します)

PS CSSファイルにも同じ方法を使用できると思います。

PHPとApacheを使用しています。

4

3 に答える 3

2

サーバーにオンザフライでこれを実行させるのではなく、事前に実行することをお勧めします。スクリプトを連結して、「シンプル」モードのGoogleClosureCompilerjsminなどの非破壊ミニファイアで実行するだけです。

これにより、そのファイルにバージョン番号を付けたり、キャッシュの寿命を延ばしたりできるため、ユーザーがページにアクセスするたびにバージョン番号を再ダウンロードする必要がなくなります。例:ページのコンテンツが頻繁に変更されるため、ページのキャッシュヘッダーを設定して、毎日期限切れになるように設定するとします。当然、JavaScriptは毎日変更されません。したがって、キャッシュ寿命が長い(たとえば、1年)page.htmlというファイルを含めることができます。all-my-js-v4.jsJavaScriptを更新する場合は、という新しいオールインワンファイルを作成し、代わりにそれを含めるようにall-my-js-v5.js更新page.htmlします。次回ユーザーが表示されたときpage.htmlに、更新されたファイルを要求します。ただし、それまでは、キャッシュされたコピーを使用できます。

本当にオンザフライでこれを実行したい場合、apacheを使用している場合は、を使用できますmod_pagespeed

于 2012-04-19T12:26:43.697 に答える
1

.NET を使用している場合は、Combresをお勧めします。JavaScript と CSS ファイルの結合と縮小を行います。

于 2012-04-19T12:29:07.120 に答える
0

これは古い質問ですが、このプロジェクトに興味があるかもしれません: https://github.com/OpenNTF/JavascriptAggregator

JavaScript に AMD モジュールを使用すると仮定すると、このプロジェクトは高度にキャッシュ可能なレイヤーをオンデマンドで作成します。他にも興味のある機能があります。

于 2013-10-05T02:34:00.330 に答える