2011-04-08 74 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。