#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()
Кажется, что код работает нормально в других браузерах, однако я получаю ошибки во всех версиях 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.