dojo amd load jquery undefined不是一个函数

时间:2013-09-17 18:30:38

标签: jquery dojo amd

我被迫使用dojo amd加载器,并且我正在折叠项目的另一部分,该部分编写了大多数jquery选择器。我正在制作一个模块来加载我的jquery代码,但第一行是破解。

问题:如何将jquery加载到dojo模块中?

我一直在寻找但似乎无法找到这个,我猜它的东西很简单......

define(['../../scripts/libs/jquery.js'], function($){
    "use strict";
$('#layers').click(function() {
    if ($('#layerMenu:visible').length > 0) {
        $('#layersMenu, #layersList').toggle();
        $('#basemapMenu, #bookmarkMenu').hide();
        $(this).toggleClass('navHighlight');
        $('#basemap, #bookmarks').removeClass('navHighlight');
    }
});
});

1 个答案:

答案 0 :(得分:5)

你需要看一下这个link你需要的是配置你的dojo加载器,不仅要从dojo位置加载文件,还要从其他位置加载文件。

解决方案:

1)你把jquery库放在dojo文件中这不是一个好主意

2)正如我之前提到的,告诉dojo配置在另一个地方寻找文件。

var dojoConfig = {
    baseUrl: "/js/",
    tlmSiblingOfDojo: false,
    packages: [
        { name: "dojo", location: "lib/dojo" },
        { name: "dijit", location: "lib/dijit" },
        { name: "dojox", location: "lib/dojox" },
        { name: "my", location: "my", main: "app" },
        { name: "Jquery",location:"../../scripts/libs/"}
    ]
};

我建议使用完全合格的路径。