#typescript #web-worker #angular2-aot #angular10
#typescript #веб-рабочий #angular2-aot #angular10
Вопрос:
У меня есть веб-приложение Angular10, в котором я загружаю OpenCV на веб-рабочий. Я добавил веб-рабочий в соответствии с приведенной здесь документациейhttps://angular.io/guide/web-worker и все отлично работает в разработке, но не в производстве.
Вот код из файла web workerhttps://github.com/Usergitbit/EchelonExtractor/blob/master/src/app/services/open-cv.worker.ts
Используя некоторые записи в консоли, я заметил, что в рабочей среде я никогда не получаю ответа от отправки сообщения рабочему, поэтому я проверил скомпилированный файл, и, похоже, большая часть моего кода отсутствовала, потому что не было ни одной из строк пути.
Затем я отключил AOT и перестроил для производства, и теперь мой код присутствовал, и все, казалось, работало нормально. В чем причина этого? Я подозреваю, что это может происходить из-за интерфейсов, которые я импортирую в рабочий файл, что приводит к проблемам во время сборки AOT. Возможно, есть какая-то конфигурация, которую мне нужно выполнить, чтобы заставить ее работать?
Комментарии:
1. может быть связано с встряхиванием дерева? попробуйте отключить это. кроме того, если вы не используете в веб-воркере материалы, специфичные для angular, просто скомпилируйте их отдельно с помощью typescript
Ответ №1:
Обновление до Angular11, похоже, решило проблему.