Загрузить пакет Angularjs в гибридном приложении с Angular 7

У меня есть большое приложение, и я внес некоторые изменения, чтобы сделать его гибридным.

Он будет работать нормально, если старый пакет приложения Angularjs загрузится первым вовремя. (это пакет размером 4-5 МБ) Я проверял образцы в сети, и большинство из них просто говорят то же самое. Например:

https://github.com/manfredsteyer/ngUpgrade-lite-sample/blob/master/src/index.html

это будет работать, потому что это небольшое приложение, и он просто импортирует все модули и компоненты вручную, а в моем приложении с более чем 200 компонентами это невозможно.

Итак, как лучше всего загрузить пакет приложения Angularjs перед чем-либо в гибридном приложении Angular?

Я связал старое приложение с Webpack 4, а также попытался импортировать его в main.ts файл, а также попробовал script в angular.json, и мне не повезло, это выдает ошибку:

Неперехваченная ошибка: [$ injector: nomod] Модуль "приложение" недоступен!

что, я полагаю, это должно быть потому, что angularjs не загружен, прежде чем новый angular 7 загрузит приложение


person arya    schedule 24.12.2018    source источник


Ответы (1)


Ладно, ребята, я только что понял. Есть два способа сделать это, во-первых, создав загрузчик Javascript, о котором вы можете узнать здесь:

https://davidwalsh.name/javascript-loader

Другое решение, которое я сделал, - это создать один уникальный процесс сборки. Это означает, что я полностью исключил процесс сборки Angular 7 и воспроизвел его в своей конфигурации Angularjs Webpack, так что конечный результат - один пакет, который содержит оба приложения в одном пакете.

Для этого вы можете взглянуть на этот пакет, который предоставляет вам инструменты сборки для Angular в Webpack:

https://github.com/angular/ngtools-webpack-builds

Просто помните, что вы должны обрабатывать html и scss файлы с помощью raw-laoder в вашем файле конфигурации Webpack.

Я обновлю этот пост, чтобы предоставить больше информации, если я найду что-то новое.

person arya    schedule 28.12.2018