3

JavaScriptの縮小と圧縮のプロセスを理解しようとしていますが、これらについていくつか質問があります。

  1. ミニファイはコードのデバッグを困難にするので、実際にWebサイトで何かをデバッグして調査する必要がある場合に備えて、クライアント側でオンデマンドのデミニフィケーションを実行することは可能ですか?
  2. Apache Webサーバーでいくつかのオプションを設定することで、すべてのリソース(画像、CSS、JavaScriptなど)の圧縮を有効にできることをどこかで読んだことを覚えています。Apacheレベルで行われるJavaScript圧縮と、YUI Compressorなどのツールを使用して行われるJavaScript圧縮に違いはありますか?

誰かが私に上記を知るのを手伝ってもらえますか?

JavaScriptファイルを実際に縮小する必要があるようなケースは、JavaScriptエラーが行番号で発生したとしましょう。X.縮小されたファイルでは、行がすべて縮小されたファイルにラップされているため、どのコードブロックが本番環境でエラーを引き起こしたかを知るのは非常に困難です。このような状況で、どのように調査してデバッグしますか?別のユーザーも、IE6で失敗するパック/縮小されたJavaScriptのこのデバッグの問題について言及しました-デバッグ方法は?質問(ただし、IE6に少し固有です)。

4

6 に答える 6

9

縮小されたコードをデバッグするべきではありません。理想的には、開発プロセスは次のようになります。

  1. サイトをローカルでビルドおよびデバッグします。JavaScript、スタイルシート、その他すべてのフルバージョンがあります。

  2. バージョンを運用マシンにデプロイします。アセットのコピーを縮小して gzip し、それをサーバーにプッシュします。ローカルの開発コピーはそのまま残ります。

  3. 本番環境にバグがある場合は、ローカル バージョンを変更し、縮小し、圧縮し、アップロードします。

利益が出るまで繰り返す

于 2011-12-28T17:09:40.703 に答える
4

Chrome Dev Tools は、本番コードをデバッグする場合に JavaScript コードの難読化を解除 (および縮小化) できます (開発環境で見られない可能性のあるライブ環境でバグを複製しようとする場合に役立ちます)

ここに画像の説明を入力 ここに画像の説明を入力

于 2011-12-28T17:27:36.950 に答える
3

通常、開発者は圧縮されていないスクリプト ファイルに対して開発を行い、デプロイの直前に圧縮します。

戻ってスクリプト ファイルをデバッグする必要がある場合は、圧縮されていない通常のファイルを開いて作業を行い、圧縮して展開するだけです。ウェブサイトが運用中に何かをデバッグするつもりなら、いいえ、スクリプト ファイルをオンデマンドで縮小解除することはできません。

はい、Apache や IIS でさえ、スクリプトとイメージを自動的に gzip 圧縮できます。

于 2011-12-28T17:09:29.310 に答える
2

縮小するとコードのデバッグが困難になるため、Web サイトで実際にデバッグして調査する必要がある場合に備えて、クライアント側でオンデマンドの縮小解除を行うことは可能ですか?

並べ替え。縮小された JavaScript は同じ構造を持ち、余分なスペースを削除したり、変数名を短くしたりするだけです。そのため、手動またはスクリプトを使用して簡単にコードを再び読み取り可能にすることができますが、変数名を回復することはできないため、コードの操作は依然として困難になります。したがって、元のコードを持っている場合は、絶対に削除しないでください。縮小されたコードを個別に保存します。

Apache Web サーバーでいくつかのオプションを設定することにより、すべてのリソース (画像、css、javascript など) の圧縮を有効にできることをどこかで読んだことを覚えています。

はい、gzip 圧縮と呼ばれます。これは apache に固有のものではありませんが、有効にするにはサーバーを構成する必要があります。

Apache レベルで実行される JavaScript 圧縮と、YUI Compressor などのツールを使用して実行される JavaScript 圧縮に違いはありますか?

はい。YUI コンプレッサはミニファイヤです。出力は有効な JavaScript です。サーバー側の圧縮は、ファイルを圧縮することに似ています。ブラウザは、使用する前に圧縮をデコードする必要があります。2 つを一緒に使用すると、ファイルサイズが最小になります。

于 2011-12-28T17:14:45.630 に答える
1
  1. 私は JS ファイルの縮小されていないローカル コピーを使用することを好み、サイトをデプロイするときに、すべての JS ファイルを 1 つに縮小します。そうすれば、コードのデバッグと改善が容易になります。ただし、縮小を元に戻すツールがあります。JavaScript の縮小を元に戻すに関するこのSO の投稿をご覧ください。
  2. GZIP 圧縮をご覧ください -このブログでは、Apache で GZIP を有効にする方法と、サーバーが実際にファイルを圧縮していることを確認する方法について説明しています。
于 2011-12-28T17:11:02.923 に答える
1

クライアント側でオンデマンドの脱ミニフィケーションを行うことは可能ですか?

一部のブラウザーには、ソース コードを自動的にフォーマットする "pretty code" ビューがあります。Firebug の CSS タブを参照してください。

Apache レベルで実行される JavaScript 圧縮と、YUI Compressor などのツールを使用して実行される JavaScript 圧縮に違いはありますか?

YIU Compressor は実際には縮小版です。Apache 圧縮は、クライアントに送信される前にファイルを ZIP 圧縮するようなものであるため、送信される実際のファイルはディスク上のファイルよりも小さくなります。これらは、互いに独立した 2 つの異なるテクノロジです。

于 2011-12-28T17:11:06.253 に答える