5
  1. 以下のパターンの違い(メリット・デメリット)を教えていただきたいです。
  2. モジュールパターンに基づいてサブモジュールを作成するにはどうすればよいですか?

私の目標は、私のjsを複数のファイルに整理して、遅延ロードされますが名前空間が 1 つになるようにすることです。

例えば:

SO.global (global.js) SO.global.registration (registration.js) <- 読み込み

var SO = function(){

    var CONSTANT = 'Z';

    function createX(){
      alert("create X");
    }

    function getY(){
       alert("get Y");
    }
    return{
      create:createX,
      get:getY
    }
}();

//SO.createX(); 
//SO.getY();

対。

var SO = (function() {

    var CONSTANT = 'Z';

    function createX(){
      alert("create X");
    }

    function getY(){
       alert("get Y");
    }

    return {
      create:createX,
      get:getY
    }

} ());
4

2 に答える 2

5

Require.JSを検討しましたか? 次の解決策を提供しようとします。

  • #include/import/require のようなもの
  • ネストされた依存関係をロードする機能
  • 開発者にとって使いやすいが、展開を支援する最適化ツールに支えられている

Require.JS は、Common.JS によって定義されたモジュール/非同期定義仕様を実装します。

于 2011-01-27T22:49:45.017 に答える
3

ここに良い読み物があります:http ://snook.ca/archives/javascript/no-love-for-module-pattern 、および別の:http: //lamb.cc/blog/category/javascript/

YUIはそれを熱心に使用しています。私もそうですが、制限されている状況は見つかりませんでした。また、カスタムモジュールのYUI依存関係ローダーとうまく統合されています。

(申し訳ありませんが、これは完全な答えではありませんが、改ざんされていない情報がいくつかあります)

于 2010-11-04T20:40:34.630 に答える