You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在ArcGIS Map SDK for JavaScript 4.29中使用Dojo遇脚本错误求助

问题原因及解决方案

核心问题

ArcGIS Map SDK for JavaScript 4.29内置了适配版本的Dojo,无需手动从外部CDN引入Dojo 1.10.4。外部引入的低版本Dojo与SDK自带的Dojo版本冲突,引发脚本错误。

修正步骤

  1. 移除手动引入的外部Dojo脚本标签
  2. 将viewDiv的<h1>标签改为<div>(MapView需要标准容器元素,h1作为标题标签会导致布局和渲染异常)
  3. 清理require数组末尾多余的逗号(避免潜在语法问题)

修正后的完整代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Tutorial: Hello Dojo!</title>
    <link rel="stylesheet" href="https://js.arcgis.com/4.29/esri/themes/light/main.css">
</head>
<body>
    <div id="viewDiv"></div>
    <script src="https://js.arcgis.com/4.29/"></script>
    <script>
        require([
            "dojo/dom",
            "dojo/dom-construct",
            "esri/config",
            "esri/Map",
            "esri/views/MapView"
        ], function (dom, domConstruct, esriConfig, Map, MapView) {
            esriConfig.apiKey = "API KEY HERE";

            const map = new Map({
                basemap: "arcgis/topographic"
            });

            const view = new MapView({
                container: "viewDiv",
                map: map,
                center: [-118.243683, 34.052234],
                zoom: 13
            });
        });
    </script>
</body>
</html>

补充说明

  • 4.x版本的ArcGIS JS SDK完全依赖自身内置的Dojo环境,所有Dojo模块(如dojo/dom)都可以直接通过SDK提供的require调用,无需额外配置
  • 确保viewDiv容器有合适尺寸,可添加CSS样式:
#viewDiv {
    height: 100vh;
    width: 100%;
    margin: 0;
    padding: 0;
}

内容的提问来源于stack exchange,提问作者Ahsan Ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 17:21:09