Загрузите пакет 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 и не повезло, это дает мне ошибку:
Uncaught Ошибка: [$injector:nomod] Модуль 'приложение' не доступен!
что, я полагаю, должно быть потому, что angularjs не загружен, прежде чем новый angular 7 загрузит приложение
1 ответ
Хорошо, ребята, я только что понял это. Есть 2 способа сделать это, сначала создав загрузчик Javascript, который вы можете найти здесь:
https://davidwalsh.name/javascript-loader
Другое решение, которое я сделал, - создать уникальный процесс сборки. Это означает, что я полностью вынул процесс сборки Angular 7 и скопировал его в конфигурацию Angularjs Webpack, так что в итоге получился один пакет, содержащий оба приложения в одном пакете.
Для этого вы можете взглянуть на этот пакет, который предоставляет вам инструменты для сборки Angular в Webpack:
https://github.com/angular/ngtools-webpack-builds
Просто помните, что вы должны справиться html
а также scss
файлы по raw-laoder
в вашем конфигурационном файле Webpack.
Я буду обновлять этот пост, чтобы предоставить больше информации, если я нашел что-то новое.