Programavimas

Kas naujo „Angular 10.1“

„Angular 10.1.0“, tolesnis „Angular 10“ versijos leidimas, buvo išleistas rugsėjo 2 d., O kompiliatorius ir maršrutizatorius patobulino našumą kartu su nauju pranešimų ištraukimo įrankiu.

„Angular 10“ kaip gamybos leidimas tapo visuotinai prieinamas birželio 24 d. Pagrindiniame „Google“ sukurto „TypeScript“ pagrindo atnaujinime daugiau dėmesio buvo skiriama kokybės, įrankių ir ekosistemų patobulinimams, o ne naujoms funkcijoms.

Kampinis 10 yra mažesnis nei ankstesnės „Angular“ versijos. Naujos galimybės apima naują dienų sekos parinkiklį „Angular Material“ vartotojo sąsajos komponentų bibliotekoje ir įspėjimus apie „CommonJS“ importą. „CommonJS“ importo įspėjimai įspėja kūrėjus, kai priklausomybė, supakuota su „CommonJS“, gali sukelti didesnes, lėtesnes programas, leidžiančias kūrėjams pakeisti „ECMAScript“ modulio paketą.

Be to, pasirenkami griežtesni parametrai suteikia griežtesnę projekto sąranką kuriant naują darbo sritį naudojant naujas, per naujas - griežtas. Įjungus šią vėliavą, inicijuojamas naujas projektas su naujais parametrais, siekiant pagerinti išlaikomumą, padėti užfiksuoti klaidas ir leisti CLI atlikti išplėstinį programos optimizavimą.

Kur atsisiųsti „Angular 10“

„GitHub“ galite rasti bendrą „Angular 10“ leidimą. Norėdami atnaujinti dabartinį kampinį diegimą, galite paleisti šią komandą:

atnaujinimas @ kampinis / cli @ kampinis / šerdis

Naujos „Angular 10.1.0“ funkcijos

„Angular 10.1.0“ leidime, kurį galima rasti „GitHub“, yra šios naujos galimybės ir patobulinimai:

  • Norint pagerinti kompiliatoriaus klijų našumą, „Angular 10.1“ yra patobulinta našumo regresija, turinti įtakos pakartotiniam programos naudojimui.
  • Norėdami gauti maršrutizatoriaus našumą, prioritizedGuardValue operatorius yra naudojamas optimizuoti „CanLoad“ sargybiniai.
  • ProgramBasedEntryPointFinder panaudos pakartotinai „EntryPointManifest“ jei įmanoma, įkelti pradinio taško priklausomybes, kad būtų išvengta jų pakartotinio analizavimo kiekvieną kartą iškviečiant ngcc.
  • Palaikomas naujas pranešimų ištraukimo įrankis, kuris galiausiai bus integruotas į CLI.
  • „Bazel“ kūrimo įrankiui „LinkabablePackageInfo“ yra pridedamas prie ng-modulis taisyklė, leidžianti susiejėjui tinkamai susieti ng_module taikiniai vykdant „Node.js“ vykdymo veiksmus.
  • Daugiau įžvalgų pridedama prie diagnostikos, kuriamos statinio vertinimo klaidos.
  • Pridėta absoliutaus URL HTTP palaikymo parinktis.
  • Į kompiliatorių buvo pridėtas „TypeScript 4.0“ palaikymas.
  • drobė () diagnostika yra veikiama.
  • Buvo atlikti maršrutizatoriaus, formų, kompiliatoriaus CLI ir kompiliatoriaus „ngcc“ suderinamumo įrankio našumo patobulinimai.
  • Gyvenimo ciklo kabliukus galima modifikuoti bet kuriuo metu prieš pradedant įkrovą.
  • Siūloma keletas didelių pataisymų šerdims, maršrutizatoriui ir kitoms „Angular“ dalims.

Naujos „Angular 10“ funkcijos

Pagrindinės „Angular 10“ savybės yra šios:

  • „TSlib“, „TypeScript“ vykdymo laiko biblioteka su pagalbinėmis funkcijomis, buvo atnaujinta į „TSlib 2.0“. „TypeScript“ „TSLint“ statinės analizės įrankis atnaujintas į „TSLint 6“.
  • Buvo pridėta kompiliatoriaus sąsaja, kuri apgaubia tikrąjį ngtsc kompiliatorių. Konkrečios kalbos paslaugos kompiliatorius valdo kelis tipų patikrinimo failus naudodamas projekto sąsają, prireikus sukuria „Scriptinfos“.
  • Naujų projektų naršyklės konfigūracija buvo atnaujinta, kad būtų pašalintos senesnės, mažiau naudojamos naršyklės. „Internet Explorer 9“, „Internet Explorer 10“ ir „Internet Explorer Mobile“ palaikymas nebenaudojamas.
  • „Angular Package Format“ nebėra ESM5 ar FESM5 paketų, taupant atsisiuntimo ir diegimo laiką, kai veikia verpalai arba npm įdiegti kampiniams paketams ir bibliotekoms.
  • Kompiliatoriui buvo pridedami vardų skaitymai nuosavybės skaitymams ir metodo iškvietimams.
  • „EntryPointFinder“buvo pridėtas programinis įvesties taškų ieškiklis, kurį galima susieti iš importo programoje, nurodytoje failo tsjconfig.json. Manoma, kad tai bus greitesnė nei „DirectoryWalkerEntryPointFinder“ kai aktyvi programa importuoja tik nedidelę dalį įdiegtų įvesties taškų.
  • Automatinis užbaigimas pašalinamas iš HTML objektų, tokių kaip & amp, dėl abejotinos vertės ir našumo.
  • Aiškus kartografavimas yra uždarytas nuo „devmode“ failų. Ši funkcija skirta kūrimo priemonėms, kurios turi išversti gamybos sukūrimo sąnaudas į savo devmode ekvivalentus.
  • Keičiant pokyčius, generiniai vaistai buvo privalomi „ModuleWithProviders“. Reikalingas bendras tipo parametras „ModuleWithProviders“ šabloną, kad veiktų su „Ivy“ kompiliavimo ir perteikimo dujotiekiu, tačiau prieš atlikdamas šį įsipareigojimą „View Engine“ leido praleisti bendrąjį tipą. Jei kūrėjas naudoja „ModuleWithProviders“ be bendro tipo, 10 versijos perkėlimas atnaujins kodą. Bet jei kūrėjas naudoja „View Engine“ ir, atsižvelgiant į biblioteką, kuri nenurodo bendro tipo, bus sukurta sukūrimo klaida. Tokiu atveju ngcc nepadės, o perkėlimas apims tik programos kodą. Norint sutvarkyti biblioteką, reikia kreiptis į bibliotekos autorių. Kaip apeitį, „skipLibChecks“ galima nustatyti kaip „false“ „tsconfig“ arba atnaujinant programą naudoti tik „Ivy“.
  • Dabar yra „TypeScript 3.9“, pašalintas „TypeScript 3.8“ palaikymas. Tai lūžtantis pokytis. „TypeScript 3.6“ ir „TypeScript 3.7“ taip pat nebepalaikomi.
  • Kompiliatoriui-cli buvo atlikti tipo patikrinimo našumo patobulinimai.
  • Norėdami pagerinti našumą, apskaičiuokite basePaths buvo tingus, todėl darbas atliekamas tik prireikus „TargetedEntryPointFinder“. Anksčiau basePaths buvo apskaičiuojamas kiekvieną kartą, kai buvo surandamas radiklis, o tai buvo eikvotos pastangos tuo atveju, kai tikslinis įėjimo taškas jau buvo apdorotas.
  • Palaikomas kelių vertimo failų sujungimas. Anksčiau kiekvienoje lokalėje buvo leidžiama naudoti tik vieną vertimo failą. Dabar vartotojai gali nurodyti kelis failus kiekvienoje lokalėje, o kiekvieno failo operacijos bus sujungtos naudojant pranešimų ID.
  • Galima sukonfigūruoti „Async“ užrakinimo skirtąjį laiką. Tai prideda palaikymą failui ngcc.config.js nustatant bandyti iš naujo ir bandyti vėluoti „AsyncLocker“ parinktys. Integravimo testas prideda naują skirtojo laiko patikrinimą ir naudoja ngcc.config.js, kad sutrumpintų skirtąjį laiką, kad bandymas užtruktų per ilgai.
  • Vykstant pokyčiams, įspėjimai apie nežinomus elementus dabar registruojami kaip klaidos. Nors tai nepažeis programos, ji gali pakelti įrankius, kurie tikisi nieko neužregistruoti per console.error.
  • Įvykdžius dar vieną lūžį, grįš bet koks sprendėjas TUŠČIA atšauks navigaciją. Kad būtų galima tęsti naršymą, kūrėjai turi atnaujinti skyriklius, kad atnaujintų tam tikrą vertę, pvz numatytasis! Tuščias.
  • Prie metaduomenų pridedama priklausomybės informacija ir ng turinio parinkikliai. Ši siūloma kompiliatoriaus funkcija suteiktų papildomų metaduomenų, naudingų tokiems įrankiams kaip „Angular Language Service“, suteikiant galimybę teikti bibliotekose apibrėžtų direktyvų / komponentų pasiūlymus.
  • Našumo patobulinimai, pasiekti sumažinus įvesties taško aprašo dydį ir talpinimo techniką manifeste. Be to, priklausomybių talpykla atliekama įvesties taško apraše ir skaitoma iš ten, o ne kiekvieną kartą apskaičiuojama. Anksčiau, net jei įvesties taško nereikėjo apdoroti, „ngcc“ („Angular Ivy“ suderinamumo kompiliatorius) išanalizavo įvesties taško failus, kad apskaičiuotų priklausomybes, o tai užimtų daug laiko didelių_node moduliams.
  • Norint pagerinti ngcc našumą, dabar leidžiama nedelsiant pranešti apie pasenusį užrakto failą. Be to, talpinama išanalizuoto „tsconfig“ failo kopija, kurią galima pakartotinai naudoti, jei „tsconfig“ kelias yra tas pats.
  • Keičiant pokyčius, atnaujinta logika, susijusi su dienos vidurių, einančių per vidurnaktį, formatavimu. Formatuojant laiką su b arba B formato kodą, perteikta eilutė netinkamai apdorojo dienų laikotarpius, apimančius dienas. Vietoj to, logika grįžo į numatytąjį atvejį ESU. Ši logika buvo atnaujinta, todėl ji sutampa su dienos laikotarpio, kuris tęsiasi po vidurnakčio, laikais, todėl dabar bus pateikiama teisinga išvestis, pvz., naktį anglų kalbos atveju. Programos, naudojančios bet kurį formatDate () arba DatePipe arba b irB Šis pakeitimas paveiks formato kodus.
  • Maršrutizatoriui „CanLoad“ sargyba dabar gali grįžti Urltree. A „CanLoad“ grįžtantis sargybinis Urltree atšaukia dabartinę navigaciją ir peradresavimus. Tai atitinka dabartinį elgesį, kurį turi „CanActivate“ taip pat buvo pridėta. Tai neturi įtakos išankstiniam įkėlimui. A „CanLoad“ apsauga blokuoja bet kokį išankstinį krovimą; bet kokie maršrutai su a „CanLoad“ apsauga nebus iš anksto pakrauta, o apsaugos nebus vykdomos kaip išankstinio krovimo dalis.
  • Teisingos reikšmės skalės sklaida „ExpressionBinding“ mikrosintaksės išraiškoje su „ParsedProperty“, kuri savo ruožtu skleis diapazoną į šabloną AST (tiek VE, tiek Ivy). Šis pasiūlymas taip pat skirtas kompiliatoriui.
  • Taisant šerdį, prie nedekoruotų klasių perkėlimo būtų pridėta logika, siekiant papuošti išvestines nedekoruotų klasių klases, naudojančias kampines savybes.
  • Vykstant pokyčiams, „Urlmatcher“ tipas atspindės, kad jis visada gali būti nulinis.
  • Aptarnaujančiam darbuotojui buvo pataisyta situacija, kai buvo tikimybė, kad aptarnaujantis darbuotojas niekada nesiregistruos, kai yra ilgai atliekama užduotis arba pasikartojantis skirtasis laikas.
  • Buvo padaryta keletas klaidų taisymų, įskaitant kompiliatorių, kuriame vengiama neapibrėžtų išraiškų skylėtame masyve, ir šerdį, kad būtų išvengta perkėlimo klaidos, kai importuojamas neegzistuojantis simbolis. Taip pat yra „Terser“ įterpimo klaidos pagrindas. Kitas klaidų taisymas tinkamai nustato modulius, kuriuos paveikė nepaisymai „TestBed“.
  • „Angular NPM“ nebėra tam tikrų „jsdoc“ komentarų, kurie palaikytų „Closure Compiler“ išplėstinius optimizavimus. Tai lūžtantis pokytis. „Closure Compiler“ palaikymas paketuose kurį laiką buvo eksperimentinis ir neveikiantis. Visiems, kurie naudoja „Closure Compiler“, greičiausiai geriau vartoti „Angular“ paketus, sukurtus iš šaltinių, o ne vartoti NPM paskelbtas versijas. Kaip laikiną sprendimą vartotojai gali apsvarstyti galimybę naudoti dabartinį statybos vamzdyną su uždarymo vėliava --compilation_level = PAPRASTA. Ši vėliava užtikrins, kad tiesiant dujotiekį būtų sukuriami pastatomi, paleidžiami artefaktai, kainuojantys padidėjusį naudingosios apkrovos dydį dėl to, kad pažangūs optimizavimai yra išjungti.
$config[zx-auto] not found$config[zx-overlay] not found