2011-12-19 20 views
2

的Backbone.js的annotated source介紹了以下一段代碼什麼意思「導出到瀏覽器的」

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

爲「頂級命名空間,所有公共主幹類和模塊將被連接到這個出口給CommonJS和瀏覽器。「

在這種情況下,「爲瀏覽器導出」是什麼意思?

回答

1

在CommonJS中,您的模塊被隔離,您想與您共享的任何內容通過「exports」變量共享。例如,Node.js使用這個。另一方面,如果您只是在瀏覽器中,那麼您不使用exports變量,並在root中添加一個新變量,最終指向window全局變量。

換句話說,如果我們使用的是支持CommonJS的東西,請導出Backbone。如果不是,請將其放入根環境中。