2014-06-06 54 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解决了我的问题。