RequireJS main require回调从未调用过

RequireJS main require call back never invoked

本文关键字:调用 回调 main require RequireJS      更新时间:2023-09-26

我尝试过这篇文章的建议,但没有成功。无论我做什么,RequireJS的主回调都不会被触发。这是我的依赖关系图:

/module/main.js
    -- /module/mainController.js
        --/vendor/preloadjs
        --/module/itemController.js
        --/module/router.js
            --/vendor/crossroads.js
                --/vendor/signals.js
            --/vendor/hasher.js
                --/vendor/signals.js
require.config({
    baseUrl: "script/module",
    paths: {
        signals: "vendor/signals"
    }
});
require(["main", function(){
    console.log("main function!");
}]);

"main"模块使用js信号,并实际被调用。事实上,整个依赖关系树都已加载(通过web检查器确认)。我只有一个申请的入口点。所有模块启动并实际运行良好。您可能会认为,如果主应用程序回调没有运行,那么它的一个或所有依赖项都会失败。

我确信有一些愚蠢的原因,我没有启动主要需求的回调。为了记录在案,我尝试过使用requirejs()方法,并得到了相同的结果。

除了依赖项和console.log之外,没有任何文件包含代码。

有人知道我做错了什么吗?

我会回答我自己的愚蠢。问题就在源头上。我使用Angular模块注入语法,并将回调作为依赖数组的一部分进行传递。哎呀。这需要成为第二个论点!

长话短说,代码是正确的,但这是变化:

require.config({
    baseUrl: "script/module",
    paths: {
        signals: "vendor/signals"
    }
});
require(["main"], function(){
    console.log("main function!");
});