1

我在使用 require.js 加载 jquery 时遇到问题

这是html脚本:

<script data-main="js/mainU.js" src="js/libs/require.min.js"></script>

这是 mainU.js 文件

requirejs.config({
    enforceDefine: true,
    baseUrl: "libs",
    paths: {
        jquery: ["//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js",
         "jquery.min"],
        underscore: "underscore-amd.min",
        backbone: "backbone-amd.min"
    },

});

define(["jquery", "underscore", "backbone"],
    function ($, _, Backbone) {
        console.log("Test output");
        console.log("$: " + typeof $);
        console.log("_: " + typeof _);
        console.log("Backbone: " + typeof Backbone);
    }
);

文件位于正确的文件夹中

4

2 回答 2

1

我碰巧不需要baseUrl,把它拿走,只需在js文件前面添加libs/就可以了。

所以现在看起来是这样的……

requirejs.config({
    enforceDefine: true,
    //baseUrl: "js",
    paths: {
        "jquery": ["http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min",
         "libs/jquery.min"],
        "underscore": "libs/underscore-amd.min",
        "backbone": "libs/backbone-amd.min"
    }

});

define(["jquery", "underscore", "backbone"],
    function ($, _, Backbone) {
        console.log("Test output");
        console.log("$: " + typeof $);
        console.log("_: " + typeof _);
        console.log("Backbone: " + typeof Backbone);
    }
);
于 2013-09-22T06:39:22.940 回答
0

该错误是因为您正在从 CDN 加载 jQuery,在其中您提供 .js 扩展名,删除 .js 扩展名,它将正常工作。

于 2013-09-23T09:31:04.430 回答