2012-01-18 16 views
5

アプリケーションでJavaScriptファイルの数を増やすにはどうすればよいですか?大きなプロジェクトでJavaScriptの複雑さを管理する

私たちはいくつかのアプリを使ってdjangoアプリケーションを構築しています。各アプリは異なる機能を持ち、3つの異なるモード(PC、タブレット、モバイル)でレンダリングする必要があります。 JavaScriptからは、サーバーから受信したデータの管理、ユーザーイベントの処理、HTMLスニペットの挿入、およびサブコンポーネントのロードなど、多くのことが起こります。機能のいくつかは、アプリとビューモードで共有されますが、特定の機能を記述することは理にかなっています(たとえば、ホバーとクリックイベントをPCレイアウトとタブレットレイアウトで別々に処理する必要があります)これはapp/layout/functionに基づくファイルです。我々は、ファイルの種類を区別するために名前を付けると、フラットファイル構造を使用していた時点まで

ui.common.js 
ui.app1.pc.handlers.js 
ui.app1.pc.domManupulators.js 
ui.app1.tablet.js 
ui.app2.pc.js 
... 

は今のところ、しかし、アプリケーション(およびコーナーケース)の数として、このように成長する高速です(私たちは、ファイルを20+近づくと、私たちが終わった時点で40 +多分期待している)unusuableになってきて、私たちはそうのようなディレクトリにすべてのものを入れている:私はJavaScriptMVCを見てきた

js/ 
    common/ 
    core1.js 
    ajax2.js 
    app1/ 
    tablet.js 
    pc.js 
    app2/ 
    mobile.js 
    ... 

することを支援しますこの。それは有用なツールを提供しますが、特に私たちの巨大なJavaScriptライブラリーの管理を改善するものはありません。私たちはすぐに開発チームを拡張し、コードの保守性は非常に重要です。

私たちの人生を楽にするものがありますか?あなたの仕事でこれを軽減できる習慣/慣習がありますか?

+1

js/{app_name}/{device_type}レイアウトに問題がありますか?それはdjangoのアプリベースの設定を模倣しているようだと非常に明確なカットと整理されています。それがあなたのために欠けている方法はありますか? – dm03514

+0

@ dm03514:それは間違っていません。もっと良い方法があるのだろうかと思っています。 – Goro

答えて

1

一般的には、共通性(2番目の例のような)でライブラリをグループ化することをお勧めします。しかし、もっと重要なのは、名前空間を持っていることを確認することです。そうでなければ、他の潜在的なスクリプトと命名の衝突を起こす可能性が低いようにそれらをユニークにします。

+0

名前空間_are_重要なことに、私たちはあまりコードを管理することができませんでした。名前空間についての投稿を参照してください:http://stackoverflow.com/questions/8916629/are-there-any-dangers-associated-with-using-javascript-namespaces – Goro

2

Backbone.jsは、MVCスタイルのパターンでJavaScriptの重いアプリケーションを整理するために使用されます。それはいくつかの学習を取るつもりですが、それはあなたがそれを使用し終わっていなくても、調べて、ちょっと勉強したいと思う何かです。

ここはチュートリアルとlearn moreのサイトです、quite a few pretty impressive projects

に使用されます。

関連する問題