2011-03-02 135 views
0

我第一次使用requireJS。我得到它工作正常,然後來優化文件來縮小和連接,現在我得到的錯誤「未捕獲TypeError:undefined不是一個函數」錯誤是在front-built.js行8175行。我已經爲這個問題留下了文件,以便更容易地確定問題。優化前requireJS優化:「Uncaught TypeError:undefined不是函數」

我主要的JS文件看起來像這樣(正常工作): http://thebeer.co/js/front.js

和優化後(引發錯誤的行8175): http://thebeer.co/js/front-built.js

希望有人更熟悉並且與requireJS比我可以解決這個問題。可能是我在優化之前包含我的JS文件的方式。我真的不確定。

回答

5

我看到有問題:

define('globals',["jquery"],(function($){ 
    var siteWrap = $('#siteWrap'), 
     membersTab = $('#membersTab'), 
     mID = siteWrap.attr('mID'); 

    if(window.location.host == "dev.thebeer.co"){ 
    var staticURL = "http://static.thebeer.co"; 
    }else{ 
    var staticURL = "https://static.meshmesh.us"; 
    } 

    // ... SNIP SNIP .... 

})()); 

你不及格jQuery匿名函數,因此$undefined裏面的函數。最後一行應該是這樣的:

})(jQuery)); 
+1

我不確定答案是否正確;正常的方法是提供一個函數,將模塊依賴關係作爲參數: 'define('globals',[「jquery」],function($){...});'' –

相關問題