2012-03-27 8 views
6

多くのイベントハンドラを持つページがあります。コードが1000行以上のコードに達したため、コードを読むのが難しくなり始めました。コードを別のファイルに分ける予定です。私の質問は、別のファイルにJSコードを分離する上で不利な点はありますか?JavaScriptコードを分離する際の短所はありますか?

+4

ことの一つは、別のネットワークの要求です。私は、読み込み可能なdevファイルまたは複数のファイルを用意することを提案しますが、1つのminifiedまたはgzippedファイルを作成することをお勧めします。 – Kumar

+0

(編集:Kumarは私にそれを打ち負かしましたが、同時リクエストの不足がまだ残っていると思います。)私が考えることができる唯一の重要な点は、異なるJSファイルを読み込むのが少し遅くなることです。それらは競合する可能性があるため、一度に1つしか読み込めません(ただし、ブラウザはこれを回避し始めているかもしれませんが、ここ数年はチェックしていません)。あなたは常にプロダクションビルドでいくつかのファイルを一緒にglobすることができます。 – Corbin

+0

はKumarに同意していますが、より多くのコードを持つファイルがたくさんある場合を除き、パフォーマンスの違いはほとんど見られません。 – dbrin

答えて

3

デメリット?

  • 別のHTTPリクエスト。開発者は、ファイルを圧縮し、最適化のためにできるだけ少ないファイルにすることを推奨します。あなたが要求するファイルが少ないほど、速くなります(往復が少ないので)

  • 自動完成のテキストエディタを使用すると、これらのエディタの中には他のファイル自動完成のためのあなたが持っている機能をメモしなければ、これは問題になる可能性があります。

  • これらの相互依存ファイルのいずれかが読み込めなかった場合、あなたのアプリケーションは中断します。

4

ベストプラクティスは、各ファイルには、すべての開発/デバッグ/編集/ソース制御のための最も効率的であるものは何でも(関連ある機能のモジュールが含まれている開発目的のために、比較的小さなファイルを作成することです。あなたは、それぞれを与えることができますこれらのファイルはそれぞれ別々に管理することができます(ソース管理システムの独自のバージョン履歴、チェックイン/チェックアウトなど)。複数のタブを開く方が簡単ですエディタでファイルを別々にしてブックマークを使用して1つの大きなファイルなどの異なる場所を行き来しようとするよりも...

次に、アプリケーションをデプロイするときは、 ureまたはYUI Compressor)を使用して、すべての小さなファイルを最小化して1つの展開ファイルに結合します。これにより、関連するコードを含むより小さいファイルの開発上の利点が保持されますが、1つのより大きな外部javascriptファイルにほとんどまたはすべてのコードを1つのhttpリクエストでダウンロードでき、非常に効果的にキャッシュできます。

2

私のコメントに加えて。

使用したT4テンプレートhereから、またはあなたは、現代のプラットフォームでscript#

でJavaScriptを書くためにC#を使用することができ、開発者は、例えば、直接CoffeScript 使用して、レール内

  • を、JavaScriptを書き込みませんPythonで
  • 、スクリプト#
を使用して、C#で(py2js、パジャマ、GoogleのV8、skulpt)
  • のいずれかを使用して
  • 1

    異なるファイルにコードを分けておくと、メンテナンスに役立ちます。 CommonJSと互換性のあるモジュールで分割することをお勧めします。ブラウザ環境で作業している場合は、RequireJSを使用して読み込むことができます。 HTTPリクエストを最適化するために、提供されたユーティリティを使用して、Webサイト/ Webアプリケーションをデプロイするときに単一のファイルを作成することもできます。ここで

    関連する問題