Jow*_*wet 1 javascript arcgis requirejs arcgis-js-api
我目前正在寻找一种在项目中使用模块加载器RequireJS和ArcGIS JS API的方法。根据文档,可以加载ArcGIS JS API的模块,如以下代码片段所示:
require(["esri/config", "esri/Map", "esri/views/MapView"], function (
esriConfig,
Map,
MapView
) {
//...
});
Run Code Online (Sandbox Code Playgroud)
问题是,如果我想从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",
},
});
Run Code Online (Sandbox Code Playgroud)
我在以下项目中找到了这个解决方案:https://github.com/r-pankevicius/arcgis-js-api-with-requirejs/blob/master/4.13/scripts/main.js
| 归档时间: |
|
| 查看次数: |
295 次 |
| 最近记录: |