У меня возникли некоторые проблемы при переключении моего приложения из версии 4.0 API 4.0 ArcGIS Javascript в новую версию API Javascript 4.0.Использование API ESRI Javascript 4.0 с требованиями JS
я имел рабочую карту при использовании версии Beta3 в 4.0 JavaScript API и был настроен Требовать JS, чтобы правильно загрузить модули с бета версии 3, как этот
requirejs.config({
baseUrl: "/App/",
paths: {
"text": "/Scripts/text",
"moment": "/Scripts/moment",
"durandal": "/Scripts/durandal",
"plugins": "/Scripts/durandal/plugins",
"transitions": "/Scripts/durandal/transitions",
"esri": "//js.arcgis.com/4.0beta3/esri",
"dojo": "//js.arcgis.com/4.0beta3/dojo",
"dojox": "//js.arcgis.com/4.0beta3/dojox",
"dijit": "//js.arcgis.com/4.0beta3/dijit",
},
});
Однако, как только я перейти от 4.0beta3 до всего лишь 4.0
requirejs.config({
baseUrl: "/App/",
paths: {
"text": "/Scripts/text",
"moment": "/Scripts/moment",
"durandal": "/Scripts/durandal",
"plugins": "/Scripts/durandal/plugins",
"transitions": "/Scripts/durandal/transitions",
"esri": "//js.arcgis.com/4.0/esri",
"dojo": "//js.arcgis.com/4.0/dojo",
"dojox": "//js.arcgis.com/4.0/dojox",
"dijit": "//js.arcgis.com/4.0/dijit",
},
});
я получаю сообщение об ошибке при попытке загрузить карту, где он пытается загрузить этот сценарий, и это дает 404
http://localhost:17654/Scripts/moment/moment.js
Я считаю, что он пытается загрузить этот скрипт, потому что ESRI Api использует свой собственный плагин момента и, поскольку я уже определил, в какой момент, его попытка посмотреть на localhost вместо загрузки модуля esri.
Я пробовал несколько различных конфигураций с требуют и с этим я могу получить страницу для загрузки, без яваскрипта ошибок, однако карта не показывает вверх
requirejs.config({
baseUrl: "/App/",
paths: {
"text": "/Scripts/text",
"moment": "/Scripts/moment",
"durandal": "/Scripts/durandal",
"plugins": "/Scripts/durandal/plugins",
"transitions": "/Scripts/durandal/transitions",
"esri": "//js.arcgis.com/4.0/esri",
"dojo": "//js.arcgis.com/4.0/dojo",
"dojox": "//js.arcgis.com/4.0/dojox",
"dijit": "//js.arcgis.com/4.0/dijit",
},
map: {
"*": {
"moment/moment": "moment"
}
}
});
Я знаю, что JavaScript API использует свою собственную версию dojo, который должен обрабатывать загрузку модуля, поэтому смешивание его с помощью js может быть даже невозможным, но поскольку он отлично работает с бета-3, я надеюсь найти способ заставить этот плагин для правильной загрузки и иметь карту работа с использованием js.
Есть ли у кого-нибудь опыт в совместной работе этих двух? Буду признателен за любую оказанную помощь. Спасибо
Мы используем JS вместо загрузчика esri AMD, потому что мы используем Durandal как единую платформу приложения, которая зависит от требуемого js вместо dojo. – user501211
Ahh ok cool, хорошо, что у них не должно быть проблем, работающих вместе, пока конфигурация сплошная –
Я обновил конфигурацию до этого, как вы предложили, с одной небольшой настройкой. Я добавил еще один путь «момент/момент»: «//js.arcgis.com/4.0/moment/moment» ' И теперь страница действительно загружается без ошибки moment.js, однако карта больше не отображается вверх. Тот же код, что и раньше, с версией beta3. – user501211