2011-04-08 2 views
4

J'ai un problème avec RequireJS où mon script main.js contient une référence à une dépendance, qui est chargée mais pas résolue lorsque le rappel dans main.js demandant cette dépendance est exécuté .RequireJS appelant les rappels avant les dépendances chargées/résolues

Ma structure de répertoire est:

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" 
    } 
}) 

Et la sortie de la console, ce qui suggère que les fichiers de dépendance sont chargés, mais pas résolu correctement:

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

Je dois manquer quelque chose de vraiment ici évident, mais quelle que soit la documentation que je lis sur le problème doesn ne semble pas se révéler. Des idées?

Répondre

12

Pour répondre à ma propre question stupide:

Vous utilisez require pour définir vos modules, vous devez utiliser define.

Facepalm.

Questions connexes