首页 > 解决方案 > 在 ArcGIS Web AppAbuilder 中将自定义库添加到小部件

问题描述

我正在尝试将本地版本的 jquery 和 jquery-modal( https://jquerymodal.com/ ) 添加到我的小部件和小部件中,因为它只会在小部件中使用。

我尝试在我的小部件根文件夹(widget.js/html 所在的位置)中创建一个名为“extraLibs”的文件夹,并在代码的 define([]) 和 function() 部分中的 widget.js 中引用它,但我做错了,因为它返回“jQuery 未定义”错误,所以我认为问题在于我如何在“extraLibs”文件夹中声明 .js 文件。

然后我去了https://jquerymodal.com/并获得了 CDN 链接并下载了两个 .js 文件,将它们重命名为 jQuery.js 和 jQueryModal.js 并将它们放在“extraLibs”文件夹中。

然后我这样声明它们:

define([... './extraLibs/jQuery', './extraLibs/jQueryModal'],
function(... jQuery, jQueryModal){
//code goes here
});

单击打开的小部件后,它会在控制台中返回“未定义 jQuery”错误。

我已经根据这个线程尝试过,但没有运气。

将外部库添加到小部件的正确方法是什么?

标签: javascriptjqueryarcgis-js-api

解决方案


通过执行以下操作,我能够在小部件级别成功加载 jQuery:

define([... 'jimu/loaderplugins/jquery-loader!https://code.jquery.com/jquery-3.4.1.min.js'],
function(...){
//code goes here
});

至于 jquery-modal 模块,我通过移动它的代码直接将它嵌入到 postCreate 函数中的 widget.js 中。


推荐阅读