Programování

Co je nového v Angular 9.1

Angular 9.1 dorazil s vylepšením výkonu a souběžnosti kompilátoru kompatibility ngcc. Pozornost získala také kompilace a vykreslování kanálu Ivy, což vedlo k lepšímu výkonu.

Angular 9.1, publikovaný 25. března, navazuje na vydání Angular 9.0, které bylo k dispozici jako produkční vydání 6. února 2020. Upgrade verze 9.0 na populární framework založený na TypeScriptu ve výchozím nastavení přepíná aplikace na kompilátor Ivy a běhové prostředí.

Ivy nabízí rychlejší kompilaci AOT i menší velikosti svazků, rychlejší testování a lepší ladění. Vylepšená vazba třídy a stylu CSS je také uvedena v Ivy spolu s vylepšením kontroly typu, chybami sestavení a časy sestavení. Součástí Angular 9 je takéng aktualizace, který slibuje, že bude spolehlivějším a informativnějším nástrojem pro aktualizaci aplikací a jejich závislostí.

Angular poskytuje vkládání závislostí, což je zvláště užitečné pro sestavování datových služeb pro aplikace, spolu s použitím šablony HTML k vytváření komponent. V Angular vývojáři stále skládají komponenty s komponentou HTML, která se připojuje k kódu TypeScript pro imperativní části programu.

Kam stáhnout Angular 9.1 nebo předchozí vydání

Můžete si stáhnout produkční verzi Angular z GitHubu i beta verze. Byl vydán průvodce úhlovou aktualizací spolu s průvodcem upgradem na Angular 9.

Nové funkce v Angular 9.1

  • Optimalizace výkonu pro ngcc, stejně jako vylepšení souběžnosti a spolehlivosti pro případy použití ngcc monorepo. Skript po instalaci NPM se již nedoporučuje. S ngcc je asynchronní zpracování pozastaveno, pokud jiný soubor obsahuje soubor lockfile. Také s ngcc je schopnost sloučení zdrojové mapy schopna načíst strom zdrojových souborů propojených zdrojovými mapami a sloučit je do jediné zdrojové mapy. Tato zdrojová mapa se mapuje přímo z finálního generovaného souboru do původních zdrojů, na které odkazují mezilehlé zdrojové mapy.
  • TypeScript 3.8 je podporován.
  • Internacionalizace prostřednictvím i18n nyní podporuje informace o národním prostředí RTL.
  • Výkon břečťanu byl vylepšen odstraněním nepoužívaného argumentu události v pokynech posluchače. Dříve Ivy generovala $ událost argument, i když jej nepoužívají výrazy posluchače. To by mohlo vést ke zbytečnému generování bytů. Byla také zahrnuta oprava kompatibility pro kontrolu šablon Ivy.

Nové funkce v Angular 9.0

Kromě toho, že Ivy je výchozí, Angular 9.0 obsahuje následující nové funkce a vylepšení:

  • Nové možnosti pro za předpokladu, pro vytvoření @Injectable služba, zahrnout plošina, která zpřístupňuje službu ve speciálním injektoru platformy singleleton sdíleném všemi aplikacemi na stránce, a žádný, který poskytuje jedinečnou instanci v každém modulu, který vkládá token.
  • Kabelové svazky komponent, které zajišťují, že testy jednotky jsou správně vymezeny a méně křehké. Podrobnosti implementace jsou odebrány.
  • Nové komponenty umožňující začlenění funkcí YouTube a Map Google do aplikací.
  • Jsou podporovány TypeScript 3.7 a TypeScript 3.6.
  • Pro eventListeners byl vylepšen výkon.
  • Výchozí kód měny v Měna potrubí je nyní konfigurovatelný.
  • Chcete-li zlepšit výkon vykreslovacího modulu Ivy, jsou z instrukcí i18n odebrány opakované globální přístupy stavu, když jsou informace již k dispozici. Ivy také získá zvýšení výkonu odstraněním doplňku SafeDetection kód. Balíček @ angular / localize lze přidat do projektu Angular CLI prostřednictvím ng přidat.
  • Také pro vykreslovací modul Ivy jsou pro neznámé komponenty nabízeny lepší chybové zprávy. Navíc byl přidán nový příznak lokalizovat-přeložit který umožňuje specifikovat národní prostředí zdroje.
  • Aby se zlepšil výkon v jádru, stane se sanitizace v rendereru Ivy otřesitelným.
  • Také v Ivy byla změněna kontrola typu šablony, aby byla vytvořena ts.Diagnostics. To opravuje problém s designem, ve kterém překladač Angular vytvořil jak nativní diagnostiku TypeScript, tak vlastní interní diagnostický formát, který nebyl optimální.
  • Také pro jádro Angular přidává nové schéma migrace podle daného plánu migrace.
  • The Varování NgFormSelector selektor byl odstraněn.
  • Pro ngcc (překladač úhlové kompatibility) byla přidána migrace pro nedekorované podřízené třídy.
  • Pro Ivy, kompilátor, jádro, jazykovou službu, ngcc a Bazel byla vytvořena řada oprav chyb.

Nové funkce v Angular 8.2

Angular verze 8.2, která byla vydána v srpnu 2019, zahrnuje:

  • Aby se zlepšil výkon kompilátoru, kopírování se při klonování objektu vyhne prototypu. Tím se aktualizuje funkce klonování třídy ApplySourceSpanTransformer, kde byla použita smyčka for-in, což mělo za následek kopírování z prototypu do vlastních vlastností, což spotřebovává více paměti.
  • Podpora TypeScript 3.5.
  • Kompilace cílů používaných nástroji Kythe s vykreslovačem Ivy. To eliminuje problémy s křížovými odkazy na přechodné závislosti, které se negenerují, kvůli tomu, jak tyto závislosti načítá starší kompilátor.
  • Podpora pro $ prvek v upgradované součásti šablona a templateURL funkce.
  • Pro Bazel mohou uživatelé nyní předat vlastní Bazel CompilerHost pro Angular kompilaci, což podporuje přepsání hostitele kompilátoru TypeScript.
  • Řada oprav chyb, včetně zvýšení limitu paměti ngc pod Bazel od 2 GB do 4 GB.

Nové funkce v Angular 8.1

  • Pro upgradu / statickou knihovnu, která propojuje injektory Angular a AngularJS bez nutnosti úplného bootstrapu hybridní aplikace, jsou k dispozici testovací pomocníci.
  • Ukončení podpory integrace s Web Tracing Framework, kterou Angular dříve podporoval pro testování výkonu. Vývojový tým Angular poznamenal, že integrace nebyla udržována a pravděpodobně dnes nefunguje pro většinu aplikací Angular.
  • Implementace definitionAndBoundSpan, který je nyní upřednostňován před definice. Implementace definice byla přepracována a zjednodušena.
  • Ukončení podpory API platformy-webworker. Zahrnutí této podpory bylo experimentální, aby se pokusil spustit celou aplikaci ve webovém pracovníku, aby webový obsah spouštěl skripty na pozadí. Úhloví zastánci se o to již nesnaží.

Angular 8.1 také nabízí opravy chyb pro nástroj Bazel build, stejně jako Angular core a router.

Nové funkce v Angular 8.0

Vylepšení v Angular 8, vydaná v květnu 2019, zahrnují následující: