2012-11-02 34 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) 
}) 
相关问题