2012-11-02 74 views
0

我正在構建我的第一個大型Backbone + Requiere APP,並且我遇到了一種情況,它可以訪問某種「應用程序範圍」範圍。我正在考慮在全球範圍內創建一個新名稱空間,如下所示:大型Backbone/RequireJS應用程序上的全局資源共享

window.APP = { 
    someProp : someValue, 
    .... 
} 

是否有任何其他選項/良好實踐?

感謝

+0

看一看這裏的答案: http://stackoverflow.com/questions/9916073/how-to-load-bootstrapped-models-in-backbone-js-while-using-amd-require-js/10288587#10288587 –

+0

@shioyama感謝您的鏈接,但在我的情況下,這種方法有點矯枉過正,因爲我不需要從後端填充數據。 – silkAdmin

回答

1

我總是儘量避免全局作用域與require.js工作時,最好是避免它。

一個解決方案是創建一個config.js文件:

#config.js 

define([], function() { 
    return { 
     someProp : someValue 
    } 
}) 

然後,當你需要訪問另一個模塊中的值,你可以這樣做:

#foo-module.js 

require(['config', 'backbone', 'underscore'], function(config, Backbone, _) { 
    console.log(config.someProp) 
}) 
相關問題