2011-01-02 8 views
10

実際にWeb開発、特にJSになってきたので、JSファイルの構成と責任の委任という点でベストプラクティスが何か疑問に思っていました。それはこのような構造を持っている私には理にかなっているので、私はこれを頼む:Javascriptファイルの構成とデザイン

  • MAIN PAGE(PHP)(中央JSファイルへの参照が含まれています)
  • MAIN Javascriptがファイルには、(1への参照が含まれていますこれは私には理にかなっている間、私はあなたが自然にJSファイルを含めることができないという事実を考えると私の見解では間違っている場合は、名前空間またはBのクラスで唯一のエラーコードを含むファイル)

、私は疑問に思ってカップルのトリックをしない限り(別のものとして、jQueryについて話していない)。トリックは、これが単に言語のベストプラクティスに適合しないために行われないことを意味するかもしれませんが、クロスドメインの問題に関して常にそうであるとは限りません。だから私はあまりにも深刻なデザインに陥る前に、あなたが責任をどのように分割したのか、すべてをまとめて1つのファイルにまとめたのか不思議に思っていました。

答えて

9

複数のJavaScriptファイルを処理する最も良い方法は、モジュールのように設計することです。メインのJavaScriptファイルの1つは、あなたの "名前空間"(JavaScriptにはクラスがないので引用されています)を設定することで、一種のブートローダとして機能します。例:

var myNamespace = {}; 

各モジュールで、「名前空間」を拡張します。これには2つの利点があります。

  • グローバルを最小化します。この場合、グローバルは1つになります。
  • 正しく設計されていれば、モジュールを混在させて(再利用して)簡単に使用できます。

また、実装の詳細のためにこれを参照してください。https://stackoverflow.com/a/3722845/221061

+0

ありがとうございました。あなたのケースでは、私はすべてのコードが1つのファイルにあると仮定します。 – Ilya

+0

あなたはそうすることができますが、そのような種類のモジュールの目的を破る。後でそれらを再利用できるように、それぞれを独自のファイルに入れることをお勧めします(ミックス・アンド・マッチ部分)。 –

0

一つの大きなJSファイルには、複数のJSファイルを使用する場合と比較して「悪い」ということは本当にないです。

帯域幅が気になる場合は、gzipを参照するか、収縮させるとサーバー上で圧縮できます。

+1

ああ、それはまったく空間に関するものではありません。むしろ、すべてをきちんとして論理的に保つこと。 – Ilya

2

あなたのドメインに合ったクラスをモジュール式のJSファイルに分割します。 YUIコンプレッサーなどのツールを使用してJSファイルを圧縮し、圧縮します。

関連する問題