ошибка arcgis js API 4.7 в Internet Explorer — «не обнаружено встроенной поддержки wasm»

#angular #webassembly #esri-javascript-api #esri-loader

#angular #webassembly #esri-javascript-api #esri-загрузчик

Вопрос:

Я использую ArcGIS JS API 4.7 в приложении angular 6.

и использование esri-loader для доступа к методам esri в моих службах / компонентах angular

Используются следующие версии..

 "arcgis-js-api": "^4.7.2",
"bootstrap": "^4.1.0",
"core-js": "^2.5.4",
"esri-loader": "^2.3.0",
"esri-service": "^1.1.1",
  

Похоже, esri внедрила часть методов js в webassembly.
следовательно, браузеры используют следующие файлы

 https://js.arcgis.com/4.7/esri/geometry/support/pe-wasm.js
https://js.arcgis.com/4.7/esri/geometry/support/pe-wasm.wasm

  

Это специально используется в
JsonUtils.Метод FromJSON()

https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-jsonUtils.html#fromJSON

Кажется, что код работает нормально в других браузерах, однако я получаю ошибки во всех версиях IE, включая Edge

протестировано в IE 11.2791.12

Edge 38.14393.2068.0

Ниже приведен мой код

 import { loadModules } from 'esri-loader';

...
...

public static async createGeometry(
    geometryJson: any
  ): Promise<__esri.Geometry> {
    const [JsonUtils] = await loadModules([
      'esri/geometry/support/jsonUtils'
    ]);
    return JsonUtils.fromJSON(geometryJson);
  }
  

Ошибка приведена ниже

 no native wasm support detected
ERROR abort("no binaryen method succeeded. consider enabling more options, like interpreting, if you want that: https://github.com/kripken/emscripten/wiki/WebAssembly#binaryen-methods"). Build with -s ASSERTIONS=1 for more info.

[object Error]{description: "no binaryen...", message: "no binaryen...", name: "Error", stack: "Error: no b...", Symbol(rxSubscriber)_g.byk0skaafg7: undefined}
  

Кто-нибудь сталкивался с этим в прошлом?

Комментарии:

1. Требования API, в частности ограничения IE11, более подробно перечислены в developers.arcgis.com/javascript/latest/guide /…

Ответ №1:

Конечно, это ожидаемо.

Он использует WebAssembly, и IE никогда не сможет поддерживать WebAssembly. Для Edge вам следует обновить Windows 10 Fall Creators Update. В частности, EdgeHTML (НЕ Edge) версии 16 поддерживает WebAssembly.