Фото Эстебана Лопеса на Unsplash.
Angular только что выпустил 11-ю версию своего замечательного фреймворка, так что давайте рассмотрим новейшие функции Angular.
Обновленная поддержка горячей замены модуля (HMR)
Средство тестирования компонентов позволяет тестам взаимодействовать с компонентами с помощью поддерживаемых API. Впервые это было введено в Angular 9. Эти API-интерфейсы имеют возможность взаимодействовать с компонентами так же, как и конечные пользователи, и тесты могут изолировать себя от изменений в DOM.
В то время этот механизм поддерживал только материал Angular. Но в последней версии для всех компонентов доступна привязка компонентов.
В следующем примере показано использование MatButtonHarness
в материале Angular:
Поддержка TypeScript 4.0
Горячая замена модулей - это механизм, который позволяет заменять модули без полного обновления браузера. HMR не является чем-то новым для Angular, и разработчики также могли использовать его с предыдущими версиями. Но с Angular 11 количество усилий, необходимых для настройки HMR, значительно сократилось, и для этого они предоставили команду CLI.
Теперь вы можете просто использовать команду ng serve
с тегом hmr
, чтобы включить HMR:
В этом последнем обновлении команда Angular отказалась от поддержки TypeScript 3.9. Теперь Angular 11 поддерживает только TypeScript 4.0.
ng serve --hmr
Поддержка Webpack 5
Одна из основных причин этого обновления - ускорение сборки. Angular 11 обеспечивает гораздо более быструю сборку, чем предыдущие версии.
Как вы знаете, webpack используется для компиляции большого количества файлов в один пакет или один файл. Webpack 5 - последняя версия, выпущенная за последний месяц. Он все еще не полностью стабилен.
Переход на ESLint
Однако Angular 11 обеспечивает экспериментальную поддержку webpack 5, и вы можете использовать его с Angular 11, чтобы опробовать новые возможности. Согласно примечаниям к выпуску, команда Angular считает, что они могут расширить эту экспериментальную поддержку для достижения более быстрых сборок и небольших пакетов, когда все станет стабильным.
Если вы хотите попробовать webpack 5, вы можете начать с добавления следующих строк в ваш package.json
файл:
TSLint долгое время был одним из самых популярных инструментов линтинга среди разработчиков. Но недавно он был объявлен устаревшим, и обязанности были переданы ESLint.
“resolutions”: { “webpack”: “5.4.0” }
1. Добавьте соответствующие зависимости.
Angular также переходит с TSLint на ESLint с обновлением версии 11, и вы больше не сможете использовать TSLint для линтинга в Angular. Angular представил трехэтапный метод перехода с TSLint на ESLint.
Удалите корневой уровень tslint.json
.
2. Запустите схему convert-tslint-to-eslint
в проекте.
ng add @angular-eslint/schematics
3. Удалите корневую конфигурацию TSLint и используйте только ESLint.
ng g @angular-eslint/schematics:convert-tslint-to-eslint {{YOUR_PROJECT_NAME_GOES_HERE}}
Обновленная предварительная версия языковой службы
Вы можете найти более подробную информацию о миграции здесь:
«Angular Language Service предоставляет редакторам кода возможность получать дополнения, ошибки, подсказки и навигацию внутри шаблонов Angular. Он работает с внешними шаблонами в отдельных файлах HTML, а также со встроенными шаблонами ». - «Документация по Angular»
- Машинописный текст
- Angular-eslint
- Tslint-to-eslint-config
- Новые автоматизированные миграции и схемы.
Прочие изменения
Ранее эта языковая служба была основана на View Engine. Angular 11 предоставляет новую, более мощную и точную языковую службу на основе Ivy.
Хотя эта функция все еще находится в разработке, она может вести себя аналогично компилятору TypeScript.
Кроме того, в Angular 11 внесено большое количество мелких изменений, например:
Некоторые критические изменения
Думаю, теперь вы понимаете некоторые важные особенности Angular 11. Но это лишь часть функций, предоставляемых Angular 11, и вы также можете найти более подробную информацию в их блоге.
- Улучшения сервис-воркеров.
- Поддержка отложенной загрузки для названных розеток.
- Angular CLI теперь может генерировать защиту разрешения.
- Более строгие типы встроены в трубы.
- Функция
formatDate
теперь поддерживает формат года нумерации недель ISO 8601. - Angular 11 полностью удаляет мобильную поддержку IE 9, 10 и IE.
Вывод
- TypeScript 3.9 больше не поддерживается.
preserveQueryParams
был удален из маршрутизатора, и вместо него можно использоватьqueryParamsHandling=”preserve”
.- Выражения внутри ICU теперь снова проверяются на тип.
- Асинхронный конвейер больше не утверждает, что возвращает
undefined
для ввода, который был набран какundefined
. - «Https://www.ausy.fr/alex/ligue-1/Pv-M000.html»
«https://www.ausy.fr/alex/ligue-1/Pv-M001.html»
«https://www.ausy.fr/alex/ligue-1/Pv-M002.html»
«https://www.ausy.fr/alex/ligue-1/Pv- M003.html »
« https://www.ausy.fr/alex/ligue-1/Pv-M004.html »
« https://www.ausy.fr/alex/ligue- 1 / Bv-R000.html »
« https://www.ausy.fr/alex/ligue-1/Bv-R001.html »
« https://www.ausy.fr/ alex / ligue-1 / Bv-R002.html »
« https://www.ausy.fr/alex/ligue-1/Bv-R003.html »
« https: // www. ausy.fr/alex/ligue-1/Bv-R004.html »
« https://carepropertyinvest.be/invest/ligue-1/Bv-R000.html »
« https: // carepropertyinvest.be/invest/ligue-1/Bv-R001.html »
« https://carepropertyinvest.be/invest/ligue-1/Bv-R002.html »
« https: // carepropertyinvest.be/invest/ligue-1/Bv-R003.html »
« https://carepropertyinvest.be/invest/ligue-1/Bv-R004.html »
« https: // carepropertyinvest.be/invest/ligue-1/Pv-M000.html »
« https://carepropertyinvest.be/invest/ligue-1/P- v-M001.html »
« https://carepropertyinvest.be/invest/ligue-1/Pv-M002.html »
« https://carepropertyinvest.be/invest/ligue-1/ Pv-M003.html »
« https://carepropertyinvest.be/invest/ligue-1/Pv-M004.html »
« https://www.ausy.fr/alex/ligue- 1 / Re-Bo-en-dir-tv-s01.html »
« https://www.ausy.fr/alex/ligue-1/Re-Bo-en-dir-tv-s02.html »
« https://www.ausy.fr/alex/ligue-1/Re-Bo-en-dir-tv-s03.html »
« https://www.ausy.fr /alex/ligue-1/Re-Bo-en-dir-tv-s04.html »
« https://www.ausy.fr/alex/ligue-1/Re-Bo-en-dir- tv-s05.html »
« https://www.ausy.fr/alex/ligue-1/Re-Bo-en-dir-tv-s06.html »
« https: // www.ausy.fr/alex/ligue-1/Re-Bo-en-dir-tv-s07.html »
« https://www.ausy.fr/alex/ligue-1/Re-Bo -en-dir-tv-s08.html »
« https://carepropertyinvest.be/invest/ligue-1/Re-Bo-en-dir-tv-s01.html »
« https : //carepropertyinvest.be/invest/ligue-1/Re-Bo-en-dir-tv-s02.html »
« https://carepropertyinvest.be/invest/ligue-1/Re-Bo- en-dir-tv-s03.html »
« https: // careprope rtyinvest.be/invest/ligue-1/Re-Bo-en-dir-tv-s04.html »
« https://carepropertyinvest.be/invest/ligue-1/Re-Bo-en-dir -tv-s05.html »
« https://carepropertyinvest.be/invest/ligue-1/Re-Bo-en-dir-tv-s06.html »
« https: // carepropertyinvest .be / invest / ligue-1 / Re-Bo-en-dir-tv-s07.html »
« https://carepropertyinvest.be/invest/ligue-1/Re-Bo-en-dir- tv-s08.html »
« https://www.ausy.fr/alex/ligue-1/Ren-Bor-www-Q00.html »
« https://www.ausy. fr / alex / ligue-1 / Ren-Bor-www-Q01.html »
« https://www.ausy.fr/alex/ligue-1/Ren-Bor-www-Q02.html »< br /> «https://www.ausy.fr/alex/ligue-1/Ren-Bor-www-Q03.html»
«https://www.ausy.fr/alex/ligue-1 /Ren-Bor-www-Q04.html »
« https://www.ausy.fr/alex/ligue-1/Ren-Bor-www-Q05.html »
« https: / /www.ausy.fr/alex/ligue-1/Ren-Bor-www-Q06.html »
« https://www.ausy.fr/alex/ligue-1/Ren-Bor-www- Q07.html »
« https://www.ausy.fr/alex/ligue-1/Ren-Bor-www-Q08.html »
« https://www.ausy.fr/ alex / ligue-1 / Ren-Bor-www-Q09. html »
« https://www.ausy.fr/alex/ligue-1/Ren-Bor-www-Q10.html »
« https://carepropertyinvest.be/invest/Ren- Bor-www-Q00.html »
« https://carepropertyinvest.be/invest/Ren-Bor-www-Q01.html »
« https://carepropertyinvest.be/invest/Ren- Bor-www-Q02.html »
« https://carepropertyinvest.be/invest/Ren-Bor-www-Q03.html »
« https://carepropertyinvest.be/invest/Ren- Bor-www-Q04.html »
« https://carepropertyinvest.be/invest/Ren-Bor-www-Q05.html »
« https://carepropertyinvest.be/invest/Ren- Bor-www-Q06.html »
« https://carepropertyinvest.be/invest/Ren-Bor-www-Q07.html »
« https://carepropertyinvest.be/invest/Ren- Bor-www-Q08.html »
« https://carepropertyinvest.be/invest/Ren-Bor-www-Q09.html »
« https://carepropertyinvest.be/invest/Ren- Bor-www-Q10.html »
«Руководство по миграции»
А пока, если вы хотите обновить свои проекты до Angular 11, вам просто нужно выполнить следующую команду:
Спасибо за чтение!
ng update @angular/cli @angular/core
Что нового в Angular 11?