2012-01-31 20 views
1

私は自分のミックスインを別のバックボーンプロジェクトに使用しようとしています。バックボーンミックス:再利用可能なネームスペース

要するに、ウィンドウ。私はプロジェクト名が変わってしまい、プロジェクトの名前空間に名前をつけることができず、名前空間を提供できません。なぜなら、同じファイル内でのみ機能するからです。

要するに、私のミックスインをプロジェクト全体で呼び出し可能にするにはどうすればいいですか?

乾杯...

+0

あなたはミックスインで何を意味するか手の込んだことができます..あなたは、既存の基幹クラスのいくつかのサブクラスを提供することを意味し、または追加の方法でコアバックボーンクラスを拡張していますか? – Ben

答えて

1

は、標準的な方法は、define a clean AMD-compliant moduleになり、その後、Require.jsなどのツールを使用して、バックボーンのプロジェクトでそれをロードします。このアプローチは、グローバル名前空間を汚染しません。すべてのAMDを使いたくない場合は、Douglas Crockfordの書籍「Javascript、The Good Parts」で説明したように、モジュールパターンを使用できます。自己呼び出し関数を使用してモジュールを定義し、公開されたオブジェクト(または関数)を返します。しかし、グローバルな名前空間が必要です。パターンの素晴らしいドキュメントはhereです。それはこのようになります最も単純な形式で:

var MODULE = (function() { 
    var my = {}, 
     privateVariable = 1; 

    function privateMethod() { 
     // ... 
    } 

    my.moduleProperty = 1; 
    my.moduleMethod = function() { 
     // ... 
    }; 

    return my; 
}()); 
関連する問題