2011-04-08 48 views
4

我遇到RequireJS问题,其中我的main.js脚本具有对依赖项的引用,该引用已加载,但在请求此依赖项的main.js中的回调运行时未加载。RequireJS在依赖关系加载/解析之前调用回调

我的目录结构是:

index.htm 
scripts/ 
    require.js 
    main.js 
    feeds/ 
     feed.js 

的index.htm:

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="utf-8" /> 
     <title>Blah</title> 
     <script data-main="scripts/main" src="scripts/require.js"></script> 
    </head> 
    <body> 
     <h1>Hello, World!</h1> 
    </body> 
</html> 

main.js:

require(["feeds/feed"], function(feed) { 
    console.log("A"); 
    require.ready(function() { 
     console.log("B"); 
     console.log(feed.val); 
    }); 
}); 

feed.js:

console.log("C"); 
require(function() { 
    console.log("D"); 
    return { 
     val: "E" 
    } 
}) 

和控制台输出,这表明依赖文件被加载,但不能正确解析:

C 
A 
B 
Uncaught TypeError: Cannot read property 'val' of null 

我必须失去了一些东西真的很明显,但无论文档我在读了,这个问题没有按似乎没有透露出来。有任何想法吗?

您使用require来定义你的模块,你应该使用define

回答

12

回答我自己的愚蠢的问题。

Facepalm。