2014-06-06 52 views
0

我有一個requirejs和一個依賴項未定義的問題。requirejs匿名依賴沒有定義

我的設置如下:

var lib = function(){...}; 

define(function() { 
    return lib; 
}); 

而且模塊被這樣定義

var mod = function(){ 
    ... 
    lib('para') ... 
}; 

define(["lib/lib"], function(lib) { 
    return mod; 
}); 

在我main.js我有這個

require(['lib/lib'], function(lib){ 
    lib('para').mod(); 
}) 

問題: Lib在main.js中可用,但對於mod,我得到一個錯誤Uncaught ReferenceError: lib is not defined

回答

0

所以實際的問題是,一切都在一個IIFE。這導致define不可用,這導致If子句在else部分中解析。

Window.define是可用的,所以傳遞給IIFE解決了我的問題。