2014-07-03 110 views
0

如何正確引用Require.js的參數列表中的模塊,這些模塊不會導出變量,因爲它們綁定到窗口對象?我現在使用'undefined',但是,jshint告訴我''undefined'已經被定義了。「,因爲兩個參數被稱爲'undefined'。如何爲聲明窗口變量的Require.js模塊聲明參數

require(["jquery", "html5shiv", "plugins", "backbone"], function ($, undefined, undefined, backbone) { 

    // Your code here 

}); 
+0

試着放置這樣的依賴關係,並省略它們的導出替換項:require([「jquery」,「backbone」,other deps],function($,Backbone){/ * module code * /})。不知道它是否有效,你必須嘗試。 – lexeme

回答

0

對於實際上不暴露的東西的依賴(僅如副作用)我最後把它們作爲語義的評論說:

require(["realDependency1", "realDependency2", "sideEffectDependency"], 
    function(realDependency1, realDependency2) { 
     ... 
    } 
); 

如果相關性實際上提供的東西,但不是通過RequireJS的機制,可以shim它:

require.config({ 
    ... 
    shim: { 
     ... 
     "ng": { 
      exports: "angular" 
     }, 
     ... 
    } 
}); 

這實際上說,每當我需要"ng"(如define(["ng"],...)),日e全球變量angular(又名。 window.angular)將被退回。