如何解决multipe require 函数的问题RequireJS 和 ArcGIS JS API
我目前正在寻找一种在项目中使用模块加载器 RequireJS 和 ArcGIS JS API 的方法。根据文档,ArcGIS JS API 的模块可以如以下代码片段所示加载:
require(["esri/config","esri/Map","esri/views/MapView"],function (
esriConfig,Map,MapView
) {
//...
});
问题是,如果我想从ArcGIS JS API加载模块,它实际上调用了RequireJS的Require函数:
但它应该加载在 ArcGIS JS API 中定义的 require 函数:
RequireJS 没有找到 ArcGIS JS API 的模块,因此在控制台中抛出错误:
我的项目只支持 ES5。出于这个原因,我不能使用像 esri-loader 这样的节点库。
解决方法
我找到了解决方案。我必须添加以下代码:
require.config({
paths: {
esri: "https://js.arcgis.com/4.18/esri",dojo: "https://js.arcgis.com/4.18/dojo",dojox: "https://js.arcgis.com/4.18/dojox",dijit: "https://js.arcgis.com/4.18/dijit","@dojo": "https://js.arcgis.com/4.18/@dojo",cldrjs: "https://js.arcgis.com/4.18/cldrjs/dist/cldr",globalize:
"https://js.arcgis.com/4.18/cldrjs/dist/globalize/dist/globalize",maquette: "https://js.arcgis.com/4.18/maquette/dist/maquette.umd","maquette-css-transitions":
"https://js.arcgis.com/4.18/maquette-css-transitions/dist/maquette-css-transitions.umd","maquette-jsx":
"https://js.arcgis.com/4.18/maquette-jsx/dist/maquette-jsx.umd",moment: "https://js.arcgis.com/4.18/moment",tslib: "https://js.arcgis.com/4.18/tslib/tslib",},});
我在以下项目中找到了这个解决方案:https://github.com/r-pankevicius/arcgis-js-api-with-requirejs/blob/master/4.13/scripts/main.js
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。