RequireJS在依赖项加载/解析之前调用回调

时间:2011-04-08 04:56:25

标签: javascript requirejs

我遇到了RequireJS的问题,其中我的main.js脚本引用了一个依赖项,当运行请求此依赖项的main.js中的回调时,该依赖项已加载但未解析。

我的目录结构是:

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

我必须在这里遗漏一些非常明显的东西,但无论我读到什么文件,这个问题似乎都没有显露出来。有什么想法吗?

1 个答案:

答案 0 :(得分:12)

回答我自己的愚蠢问题:

您正在使用require来定义您应该使用define的模块。

捂脸。