如何使用require.js包

时间:2012-03-17 09:00:41

标签: javascript requirejs

我正在尝试使用require.js简单地使用firebug console来加载js脚本。

如果我尝试以下代码,它可以工作:

var script = document.createElement("script");
script.src = "http://127.0.0.1/~myName/myPublic/js/lib/require.js";
document.body.appendChild(script);

setTimeout(function() {
    require(["lib/jquery-1.7.1"], function() {
        console.log("test: ", $.fn); // **** it gives me the expected result *****
    });
}, 1000);

现在我想加载http://127.0.0.1/~myName/myPublic/js/lib/

中的所有js文件
setTimeout(function() {
    require.config({
        "packages": ["lib"]
    });
    require(["lib"], function() {
        console.log("test: ", $.fn);
    });
}, 1000);

但是我收到以下错误:

 Load timeout for modules: lib http://requirejs.org/docs/errors.html#timeout

使用require.conf的代码有什么问题?

P.S .: 我从http://127.0.0.1/~myName/myPublic/js/

运行代码

1 个答案:

答案 0 :(得分:0)

我以前从未使用过require.js,但有些东西引起了我的注意 - 客户端上的require.js如何知道你目录中的每个* .js文件?

查看文档,看起来如果指定包,require.js会自动加载“main.js”。因此,它会寻找http://127.0.0.1/~myName/myPublic/js/lib/main.js。此外,根据您的配置,它还可能会查找http://127.0.0.1/~myName/myPublic/js/lib/lib.js

如果您真的想看看它是如何工作的,请尝试安装像wireshark或charles这样的数据包嗅探器。查看客户端(浏览器)搜索javascript文件的请求类型。

不幸的是,我不知道如何修复你的配置 - 关于包的require.js的文档似乎是错误的,或者我只是没有正确地遵循它。