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

Posted

技术标签:

【中文标题】RequireJS 在加载/解析依赖项之前调用回调【英文标题】:RequireJS calling callbacks before dependencies loaded/resolved 【发布时间】:2011-04-08 04:56:25 【问题描述】:

我遇到了 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"
    
)

还有控制台输出,提示依赖files正在加载,但是没有正确解析:

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

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

【问题讨论】:

【参考方案1】:

回答我自己的愚蠢问题:

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

捂脸。

【讨论】:

以上是关于RequireJS 在加载/解析依赖项之前调用回调的主要内容,如果未能解决你的问题,请参考以下文章

使用backbone.marionette 和requireJs 的Web 应用程序的循环依赖项

如何在 RequireJS 中模拟单元测试的依赖项?

angular与requireJs构建项目

requireJS学习笔记

WEB前端开发 使用requirejs 引入脚本为啥页面首次加载会出现其他依赖jquery的文件先于jquery加载

`lib` 中的骨干木偶、RequireJS 和依赖项