2011-12-19 7 views
2

BACKBONE.JS annotated sourceは、トップレベルの名前空間」としてコードそれが何を意味する「ブラウザへの輸出」へ

var Backbone; 
    if (typeof exports !== 'undefined') { 
    Backbone = exports; 
    } else { 
    Backbone = root.Backbone = {}; 
    } 

の以下の部分を説明しています。すべてのパブリックバックボーンクラスとモジュールをに添付されますCommonJSとブラウザの両方でエクスポートされました。

このコンテキストで「ブラウザにエクスポート」とは何を意味していますか?

答えて

1

CommonJSでは、モジュールが隔離されており、必要とするものと共有したいものはすべて「エクスポート」変数で共有されます。例えば、Node.jsはこれを使用します。一方

あなただけのブラウザである場合、あなたはexports変数を使用していないと、あなたは最終的にwindowグローバルVARを指すrootで新しい変数を追加します。

つまり、CommonJSをサポートするものを使用している場合は、Backboneをエクスポートします。そうでない場合は、代わりにルートコンテキストに置きます。

関連する問題