Programiranje

Kaj je novega v programu Angular 10.1

Angular 10.1.0, nadaljnja izdaja za Angular 10, je bila izdana 2. septembra in je prinesla izboljšave zmogljivosti prevajalnika in usmerjevalnika ter novo orodje za ekstrakcijo sporočil.

Angular 10 je na splošno na voljo kot produkcijska izdaja 24. junija. Večja nadgradnja Googlovega okvira, ki temelji na TypeScriptu, je večji poudarek namenil izboljšavam kakovosti, orodij in ekosistemov kot novim funkcijam.

Angular 10 je manjši od prejšnjih različic Angular. Nove funkcije vključujejo nov izbirnik časovnega obdobja v knjižnici komponent Angular Material UI in opozorila za uvoz CommonJS. Opozorila o uvozu CommonJS opozarjajo razvijalce, če lahko odvisnost, pakirana s CommonJS, povzroči večje in počasnejše programe, kar razvijalcem omogoči, da zamenjajo sveženj modula ECMAScript.

Poleg tega neobvezne strožje nastavitve ponujajo strožjo nastavitev projekta pri ustvarjanju novega delovnega prostora z ng novo, prek ng novo --strict. Enablng this flag inicializira nov projekt z novimi nastavitvami za izboljšanje vzdrževalnosti, pomoč pri odkrivanju napak in CLI omogoči napredno optimizacijo aplikacije.

Kje prenesti Angular 10

Splošno izdajo programa Angular 10 najdete na GitHub. Če želite posodobiti trenutno namestitev Angular, lahko zaženete ta ukaz:

posodobitev @ angular / cli @ angular / core

Nove funkcije v programu Angular 10.1.0

Izdaja Angular 10.1.0, ki je na voljo na GitHub, vključuje naslednje nove zmogljivosti in izboljšave:

  • Za izboljšanje zmogljivosti v cli-u prevajalnika ima Angular 10.1 popravek za regresije zmogljivosti, ki vplivajo na postopno ponovno uporabo programa.
  • Za zmogljivost usmerjevalnika je prioritizedGuardValue operater uporablja za optimizacijo CanLoad stražarji.
  • ProgramBasedEntryPointFinder bo ponovno uporabil EntryPointManifest za nalaganje odvisnosti vstopne točke, kadar je to mogoče, s čimer se izognemo ponovnemu razčlenjevanju pri vsakem klicu ngcc.
  • Podprto je novo orodje za pridobivanje sporočil, ki bo sčasoma integrirano v CLI.
  • Za orodje za gradnjo Bazel: LinkabablePackageInfo se doda v ng-modul pravilo, ki povezovalniku omogoča pravilno povezavo ng_module cilje v izvajalnih dejanjih Node.js.
  • Diagnostiki, ki se proizvaja za statične napake pri vrednotenju, se doda več vpogleda.
  • Dodana je možnost za absolutno podporo za HTTP URL.
  • Prevajalniku je dodana podpora za TypeScript 4.0.
  • canparse () izpostavljena diagnostika.
  • Izboljšane so bile zmogljivosti usmerjevalnika, obrazcev, CLI-ja prevajalnika in orodja za združljivost prevajalnika ngcc.
  • Spreminjanje kljukic življenjskega cikla lahko izvedete kadar koli pred zagonskim trakom.
  • Na voljo so številni veliki popravki za jedro, usmerjevalnik in druge dele programa Angular.

Nove funkcije v programu Angular 10

Ključne značilnosti programa Angular 10 vključujejo naslednje:

  • TSlib, izvajalna knjižnica za TypeScript, ki vsebuje pomožne funkcije, je bila posodobljena na TSlib 2.0. Orodje za statično analizo TSLint za TypeScript je posodobljeno na TSLint 6.
  • Dodan je vmesnik prevajalnika, ki zavije dejanski prevajalnik ngtsc. Prevajalnik, specifičen za jezikovno storitev, upravlja več datotek za preverjanje tipa z uporabo vmesnika projekta in po potrebi ustvari Scriptinfos.
  • Konfiguracija brskalnika za nove projekte je bila posodobljena tako, da izključuje starejše, manj uporabljene brskalnike. Podpora je zastarela za Internet Explorer 9, Internet Explorer 10 in Internet Explorer Mobile.
  • Kotna oblika paketa ne vključuje več paketov ESM5 ali FESM5, s čimer prihrani čas prenosa in namestitve med izvajanjem preja ali npm namestite za kotne pakete in knjižnice.
  • Za prevajalnik so bili dodani razponi imen za branje lastnosti in klice metod.
  • EntryPointFinder, dodan je programski iskalnik vstopnih točk, ki ga je mogoče zasejati iz uvoza v programu, ki ga določa datoteka tsjconfig.json. Ta naj bi bil hitrejši od DirectoryWalkerEntryPointFinder ko aktivni program uvozi le majhen delež nameščenih vstopnih točk.
  • Samodokončanje je odstranjeno iz entitet HTML, kot je & amp, zaradi dvomljive vrednosti in težave z uspešnostjo.
  • Izrecno preslikavanje je izpostavljeno od zaprtja do datotek devmode. Ta funkcija je namenjena razvojnim orodjem, ki morajo vhodne podatke o proizvodnji prevesti v ustrezne ekvivalente devmode.
  • V prelomni spremembi je bilo generično zdravilo obvezno za ModuleWitProviders. Za. Je bil potreben splošni parameter ModuleWithProviders vzorec za delo s cevovodom za kompilacijo in upodabljanje Ivy, vendar je pred to odobritvijo View Engine dovolil, da se opusti generični tip. Če razvijalec uporablja ModuleWitProviders brez generičnega tipa bo selitev različice 10 kodo posodobila. Če pa razvijalec uporablja View Engine in bo glede na knjižnico, ki izpusti generični tip, izdana napaka pri gradnji. V tem primeru ngcc ne bo pomagal in selitev bo zajemala samo kodo aplikacije. Za popravilo njihove knjižnice se je treba obrniti na avtorja knjižnice. Kot rešitev je mogoče preskočiti SkipLibChecks v tsconfig ali posodabljanju aplikacije, da uporablja samo Ivy, nastaviti na false.
  • Zdaj je predstavljen TypeScript 3.9, odstranjena je podpora za TypeScript 3.8. To je prelomna sprememba. TypeScript 3.6 in TypeScript 3.7 prav tako nista več podprta.
  • Prevajalnik-cli je izboljšal zmogljivost preverjanja tipa.
  • Za izboljšanje zmogljivosti je treba izračunati basePaths je postal len, zato se delo opravi le, če je potrebno v CiljniEntryPointFinder. Prej basePaths je bil izračunan vsakič, ko je bil iskalnik sprožen, kar je bilo zapravljanje truda v primeru, ko je bila ciljna vstopna točka že obdelana.
  • Podprto je združevanje več prevodnih datotek. Prej je bila dovoljena samo ena prevajalska datoteka na jezik. Zdaj lahko uporabniki določijo več datotek na lokacijo, transakcije iz vsake datoteke pa bodo združene z ID-jem sporočil.
  • Konfiguracije async zaklepanja lahko nastavite. To dodaja podporo za datoteko ngcc.config.js za nastavitev retryAttempts in retryDelay možnosti za AsyncLocker. Integracijski test doda novo preverjanje časovne omejitve in uporabi ngcc.config.js, da skrajša čas časovne omejitve, da prepreči, da bi preizkus trajal predolgo.
  • V prelomni spremembi se opozorila o neznanih elementih zdaj zabeležijo kot napake. Čeprav to ne bo prekinilo aplikacije, bo morda sprožilo orodja, ki ne pričakujejo, da bo prek console.error zabeleženo nič.
  • V drugi lomljivi spremembi se vrne vsak razreševalec PRAZNO bo preklical navigacijo. Če želite nadaljevati navigacijo, morajo razvijalci posodobiti razreševalnike, da posodobijo neko vrednost, kot je privzeto! Prazno.
  • Dodajanje izbirnikov informacij o odvisnosti in izbirnikov vsebine ng metapodatkom. Ta predlagana funkcija prevajalnika bi zagotovila dodatne metapodatke, uporabne za orodja, kot je Angular Language Service, in nudi možnost podajanja predlogov za direktive / komponente, opredeljene v knjižnicah.
  • Izboljšave zmogljivosti, dosežene z zmanjšanjem velikosti manifesta vstopne točke in tehnike predpomnjenja v manifestu. Poleg tega se predpomnjenje odvisnosti izvede v manifestu vstopne točke in se od tam prebere, namesto da se izračuna vsakič. Prej, tudi če vstopna točka ne bi potrebovala obdelave, bi ngcc (prevajalnik združljivosti Angular Ivy) razčlenil datoteke vstopne točke za izračun odvisnosti, kar bi modulom large_node trajalo veliko časa.
  • Za izboljšanje zmogljivosti ngcc je zdaj dovoljeno takojšnje poročanje o zastareli datoteki zaklepanja. Poleg tega se shrani predpomnjena kopija razčlenjene datoteke tsconfig, ki jo je mogoče ponovno uporabiti, če je pot tsconfig enaka.
  • V prelomni spremembi je bila posodobljena logika, ki se nanaša na oblikovanje dnevnih obdobij, ki prečkajo polnoč. Ko formatirate čas s b ali B kodo zapisa, upodobljeni niz ni pravilno obdeloval dnevnih obdobij, ki so se raztezala na dneve. Namesto tega se je logika vrnila na privzeti primer AM. Ta logika je bila posodobljena, tako da se ujema s časom v dnevnem obdobju, ki se razteza čez polnoč, zato bo zdaj upodabljala pravilne rezultate, kot je npr. ponoči v primeru angleščine. Aplikacije, ki uporabljajo katero koli formatDate () ali DatePipe ali b inB kode formata bo vplivala na to spremembo.
  • Za usmerjevalnik je CanLoad stražar se lahko zdaj vrne Urltree. A CanLoad stražar, ki se vrača Urltree prekliče trenutno navigacijo in preusmeri. To ustreza trenutnemu vedenju, ki je na voljo CanActivate stražarjev, ki je bil prav tako dodan. To ne vpliva na predhodno nalaganje. A CanLoad zaščita blokira vsako prednapetost; vse poti z a CanLoad zaščita ne bo prednaložena in varovala ne bodo izvršena kot del prednapetosti.
  • Razmnoževanje pravilnega razpona vrednosti v ExpressionBinding izraza mikrosintakse na ParsedProperty, ki bi nato razširil razpon na predloge AST (VE in Ivy). Ta predlog je namenjen tudi prevajalniku.
  • V popravku jedra bi bila logika dodana migracijam okrašenih razredov, da bi okrasili izpeljane razrede okrašenih razredov, ki uporabljajo funkcije Angular.
  • V prelomni spremembi bo vrsta Urlmatcherja odražala, da lahko vedno vrne nič.
  • Za serviserja je bil vstavljen popravek situacije, v kateri je obstajala možnost, da se serviser nikoli ne bo registriral, če obstaja dolgotrajna naloga ali ponavljajoča se časovna omejitev.
  • Izvedeni so bili številni popravki napak, vključno s prevajalnikom, ki se je izognil nedefiniranim izrazom v matrični luknji in jedro, ki se je izognilo napaki selitve, kadar je uvožen neobstoječi simbol. V jedru je tudi rešitev za napako, ki vključuje Terser. Druga odprava napak pravilno prepozna module, na katere vplivajo razveljavitve v TestBed.
  • Kotni NPM ne vsebuje več nekaterih komentarjev jsdoc, ki bi podpirali napredne optimizacije prevajalnika zapiranja. To je prelomna sprememba. Podpora za zapiranje prevajalnika v paketih je že nekaj časa poskusna in prekinjena. Vsak, ki uporablja Closure Compiler, verjetno raje uživa pakete Angular, zgrajene iz virov, namesto da bi uporabljal različice, objavljene na NPM. Kot začasno rešitev lahko uporabniki razmislijo o uporabi trenutnega gradbenega cevovoda z zastavico za zaprtje --compilation_level = PREPROSTO. Ta zastavica bo zagotovila, da gradbeni cevovod proizvaja vgrajene predmete, ki jih je mogoče voditi, po ceno povečane velikosti koristnega tovora zaradi onemogočenih naprednih optimizacij.
$config[zx-auto] not found$config[zx-overlay] not found