多个 require 函数的问题(RequireJS 和 ArcGIS JS API)
Problem with multipe require functions (RequireJS and ArcGIS JS API)
我目前正在寻找一种在项目中使用模块加载器 RequireJS and the 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 中定义的 require 函数 API:
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
我目前正在寻找一种在项目中使用模块加载器 RequireJS and the 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 中定义的 require 函数 API:
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