Ошибка Angular Elements при использовании в приложении Angular6 - PullRequest
0 голосов
/ 31 октября 2018

Я сталкиваюсь со странным поведением при использовании Angular Elements для создания виджета. Я создал виджет для вызова простой формы обратной связи на другом сайте, а также для сборки на Angular и неплохо работаю в разработке, но когда я создаю приложение для работы, возникают несовместимости между виджетом и некоторыми загруженными модулями.

Виджет загружается в приложение с внешнего URL-адреса при первой загрузке приложения. Затем я вхожу в приложение, и когда модуль загружается с отложенным доступом, он сообщает о следующей ошибке

Некоторая контекстная информация:

  • Виджет строится с использованием "@ angular / elements": "^ 7.0.1"
  • Виджет использует pollyfill, потому что веб-компоненты еще не получили широкого распространения.
  • Поллифилы используют Zone.js
  • Приложение построено с использованием Angular 7.0.1

Копаясь в этом нечетком сообщении об ошибке, я выясняю, что это было связано с Zone.js, загруженным дважды приложением и виджетом, это проблемы, связанные с этим - https://github.com/angular/angular/issues/24466 - https://github.com/angular/angular/issues/24181 - https://github.com/angular/angular/issues/26158

Uncaught Error: Zone already loaded.
    at polyfills.d19af636bcf00eb4898f.js:1
    at polyfills.d19af636bcf00eb4898f.js:1
    at Object.0TWp (polyfills.d19af636bcf00eb4898f.js:1)
    at a (runtime.f35a2a91d37680127d85.js:1)
    at Module.hN/g (polyfills.d19af636bcf00eb4898f.js:1)
    at a (runtime.f35a2a91d37680127d85.js:1)
    at Object.1 (polyfills.d19af636bcf00eb4898f.js:1)
    at a (runtime.f35a2a91d37680127d85.js:1)
    at r (runtime.f35a2a91d37680127d85.js:1)
    at Array.t [as push] (runtime.f35a2a91d37680127d85.js:1)

Я также попробовал это решение, но безуспешно: - https://www.npmjs.com/package/elements-zone-strategy

Я новичок в Angular Elements, любая помощь будет высоко оценена.

Ответы [ 2 ]

0 голосов
/ 23 ноября 2018

Это уже исправлено в zone.js, но еще не выпущено, https://github.com/angular/zone.js/pull/1121,, пожалуйста, дождитесь следующего выпуска zone.js

0 голосов
/ 15 ноября 2018

Ваш угловой элемент не нуждается в zone.js. Вы можете следить за этим сообщением об удалении зависимости zone.js и устранении побочных эффектов. https://www.softwarearchitekt.at/post/2018/07/06/angular-elements-without-zone-js.aspx

...