多くのイベントハンドラを持つページがあります。コードが1000行以上のコードに達したため、コードを読むのが難しくなり始めました。コードを別のファイルに分ける予定です。私の質問は、別のファイルにJSコードを分離する上で不利な点はありますか?JavaScriptコードを分離する際の短所はありますか?
答えて
デメリット?
別のHTTPリクエスト。開発者は、ファイルを圧縮し、最適化のためにできるだけ少ないファイルにすることを推奨します。あなたが要求するファイルが少ないほど、速くなります(往復が少ないので)
自動完成のテキストエディタを使用すると、これらのエディタの中には他のファイル自動完成のためのあなたが持っている機能をメモしなければ、これは問題になる可能性があります。
これらの相互依存ファイルのいずれかが読み込めなかった場合、あなたのアプリケーションは中断します。
欠点は、すべてが正しく含まれていることを確認するという複雑さが増すことです。しかし、1000行が扱いにくくなっています。 Here's a related page about calling JavaScript objects in separate files
ベストプラクティスは、各ファイルには、すべての開発/デバッグ/編集/ソース制御のための最も効率的であるものは何でも(関連ある機能のモジュールが含まれている開発目的のために、比較的小さなファイルを作成することです。あなたは、それぞれを与えることができますこれらのファイルはそれぞれ別々に管理することができます(ソース管理システムの独自のバージョン履歴、チェックイン/チェックアウトなど)。複数のタブを開く方が簡単ですエディタでファイルを別々にしてブックマークを使用して1つの大きなファイルなどの異なる場所を行き来しようとするよりも...
次に、アプリケーションをデプロイするときは、 ureまたはYUI Compressor)を使用して、すべての小さなファイルを最小化して1つの展開ファイルに結合します。これにより、関連するコードを含むより小さいファイルの開発上の利点が保持されますが、1つのより大きな外部javascriptファイルにほとんどまたはすべてのコードを1つのhttpリクエストでダウンロードでき、非常に効果的にキャッシュできます。
異なるファイルにコードを分けておくと、メンテナンスに役立ちます。 CommonJSと互換性のあるモジュールで分割することをお勧めします。ブラウザ環境で作業している場合は、RequireJSを使用して読み込むことができます。 HTTPリクエストを最適化するために、提供されたユーティリティを使用して、Webサイト/ Webアプリケーションをデプロイするときに単一のファイルを作成することもできます。ここで
はJSminifyとVisualStudioをで使用して自動化を構築するための同様のツールについてbolgポストです:私の心にすぐに来る http://encosia.com/automatically-minify-and-combine-javascript-in-visual-studio/
- 1. EOFを使用する際の短所はありますか?
- 2. Webアプリケーションからバッチファイルを実行する際の短所はありますか?
- 3. PyPyの下でDjangoを実行する際の短所はありますか?
- 4. IntelliJのコード領域のビューを分離する方法はありますか?
- 5. Hibernate:イベントリスナまたはインターセプタ、実際にはどのような長所と短所がありますか?
- 6. Android APIよりJQTouch/Phonegapを使用する際の短所はありますか?
- 7. IQueryableを使用する際の短所!
- 8. このコードを短縮する方法はありますか?
- 9. このコードを短くする方法はありますか?
- 10. GC.disableのパフォーマンス上の短所はありますか?
- 11. ウェブページのコンテンツを分離するツールはありますか?
- 12. ng-styleを使用する際の短所は何ですか?
- 13. StringBuilderを使用する際の短所は何ですか?
- 14. シンボルを破棄する際の短所は何ですか?
- 15. コードを短くする方法はありますか?
- 16. スタイリングの目的で空のdivタグを使用する際の短所はありますか?
- 17. ASP.net MVC Webforms View Engineの短所はありますか?
- 18. 大きなセッションタイムアウト値の短所はありますか?
- 19. 「Access-Control-Allow-Origin:*」の短所はありますか?
- 20. SQL Serverと比べて、dotConnect for Oracleを使用する際の短所はありますか?
- 21. Linux上で静的にリンクされたアプリケーションを使用する際の短所はありますか?
- 22. 今後resqueジョブを実行する際の短所は何か?
- 23. すべてのJavaScriptファイル(ベンダーを含む)を連結するには短所がありますか
- 24. javascript/jqueryコードを短縮しますか?
- 25. javascriptの匿名メソッドの長所と短所は何ですか?
- 26. コードの再ファクタリング - メソッドを分離するためにコードを移動する必要がありますか?
- 27. このコードの方が短いバージョンはありますか?
- 28. 会社開発用に自分のiPhoneを使用する際の短所
- 29. 各ペア間で同じ距離のノード間の最短距離を求めるアルゴリズムはありますか?
- 30. Android.Gradle。コードからデータを分離する
ことの一つは、別のネットワークの要求です。私は、読み込み可能なdevファイルまたは複数のファイルを用意することを提案しますが、1つのminifiedまたはgzippedファイルを作成することをお勧めします。 – Kumar
(編集:Kumarは私にそれを打ち負かしましたが、同時リクエストの不足がまだ残っていると思います。)私が考えることができる唯一の重要な点は、異なるJSファイルを読み込むのが少し遅くなることです。それらは競合する可能性があるため、一度に1つしか読み込めません(ただし、ブラウザはこれを回避し始めているかもしれませんが、ここ数年はチェックしていません)。あなたは常にプロダクションビルドでいくつかのファイルを一緒にglobすることができます。 – Corbin
はKumarに同意していますが、より多くのコードを持つファイルがたくさんある場合を除き、パフォーマンスの違いはほとんど見られません。 – dbrin