2013-08-01 25 views
0

我正在做一個requireJS/backbone/jquery應用程序,我想知道是否需要在每個腳本的全局庫中需要?在requireJS中,請求全局腳本不止一個?

// App View 

define(
[ 
    'jquery', 
    'underscore', 
    'backbone' 
], 
function($, _, Backbone) { 
    var App = Backbone.View.extend(/* code here */) 
    return App; 
}); 

// and then later in my application: 
// Router 

define(
[ 
    'jquery', 
    'underscore', 
    'backbone' 
], 
function($, _, Backbone) { 
    var Router = Backbone.Router.extend(/* code here */) 
    return Router; 
}); 

,或者一旦他們在我的應用程序的全球觀點,我可以忘記他們裝?我可以:

// App View 

define(
[ 
    'jquery', 
    'underscore', 
    'backbone' 
], 
function($, _, Backbone) { 
    var App = Backbone.View.extend(/* code here */) 
    return App; 
}); 

// and then later in my application: 
// Router 

define(
[], 
function() { 
    var Router = Backbone.Router.extend(/* code here */) 
    return Router; 
}); 

回答

4

總是聲明依賴關係。依賴全局變量是一個不好的做法,並且使用RequireJS進行模塊管理失敗了。

+0

謝謝,這就是我的想法。這似乎有點冗長,需要一遍又一遍的相同的依賴關係。我想我可以通過創建一個基本的路由器/視圖/模型等來解決這個問題,並且擴展它們,所以在每個模塊的這些庫中只需要一個地方。 – slinky2000