dojo amd load jquery undefined不是一个函数

atl*_*per 2 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');
    }
});
});
Run Code Online (Sandbox Code Playgroud)

dor*_*aji 5

您需要查看此链接 ,您需要的是将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/"}
    ]
};
Run Code Online (Sandbox Code Playgroud)

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