如何将包与require.js一起使用

How to use the packages with require.js

本文关键字:js 一起 require      更新时间:2023-09-26

我正试图使用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);

现在我想加载中的所有js文件http://127.0.0.1/~myName/myPublic/js/lib/

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/

我以前从未使用过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文档似乎是直接错误的,或者我只是没有正确遵循它。