requireJS优化:“未捕获的TypeError:undefined不是函数”

时间:2011-03-02 16:09:06

标签: javascript concatenation minify requirejs

我第一次使用requireJS。我得到它工作正常然后来优化文件缩小和连接现在我得到错误“未捕获TypeError:未定义不是一个函数”错误是在front-built.js的第8175行。我已经为这个问题留下了专门的文件,以便更容易识别问题。

我在优化之前的主要JS文件看起来像这样(工作正常): http://thebeer.co/js/front.js

优化后(在第8175行抛出错误): http://thebeer.co/js/front-built.js

希望有人对requireJS比我更熟悉,并且可以解决这个问题。可能是我在优化之前包含我的JS文件的方式。我真的不确定。

1 个答案:

答案 0 :(得分: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));