【问题标题】:Problem with multipe require functions (RequireJS and ArcGIS JS API)多个 require 函数的问题(RequireJS 和 ArcGIS JS API)
【发布时间】:2021-06-04 20:56:33
【问题描述】:

我目前正在寻找一种在项目中使用模块加载器RequireJSArcGIS JS API 的方法。根据文档,可以加载ArcGIS JS API的模块,如下代码sn-p所示:

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 这样的节点库。

【问题讨论】:

    标签: javascript requirejs arcgis arcgis-js-api


    【解决方案1】:

    我找到了解决方案。我必须添加以下代码:

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-29
      • 1970-01-01
      相关资源
      最近更新 更多