Компиляция Angular AOT удаляет необходимый код для openlayers

#angular #openlayers #aot

#angular #openlayers #aot

Вопрос:

Мы используем angular 7 с openlayers 5.3. До сих пор все работало нормально. Для ускорения начальной загрузки мы теперь активировали множество оптимизаций во время сборки, включая AOT. Всякий раз, когда мы делаем это, компонент map перестает работать с сообщениями об ошибках, что методы отсутствуют.

Поскольку имена методов искажены, трудно выяснить, чего не хватает и как это решить.

Моя конфигурация angular-json для сборки:

 {
  "optimization": true,
  "outputHashing": "all",
  "sourceMap": true,
  "extractCss": true,
  "namedChunks": true,
  "aot": true,
  "extractLicenses": true,
  "vendorChunk": true,
  "buildOptimizer": true
}
  

Есть идеи, что может быть причиной этого? Или кто-нибудь сталкивался с подобной проблемой?

Спасибо, Маркус

Ответ №1:

AOT Компилятор Angular и "buildOptimizer": true Вам нужно проверить, готов ли openlayers 5.3 к использованию с aot и buildOptimizer в true , buildOptimizer потому что в нем выполняется сложная оптимизация.

Я рекомендую вам вставить buildOptimizer в false , и вы сохраните компиляцию AOT или попытаетесь обновить эту библиотеку до совместимой версии.