Kas yra „Angular 8“ viduje?

Autorius: Louise Ward
Kūrybos Data: 10 Vasario Mėn 2021
Atnaujinimo Data: 18 Gegužė 2024
Anonim
Synchronized vs ReadWriteLock vs StampedLock [Java Multithreading]
Video.: Synchronized vs ReadWriteLock vs StampedLock [Java Multithreading]

Turinys

„Angular 8“ yra naujausia „Google Angular“ versija - viena iš geriausių „JavaScript“ sistemų. Šiame straipsnyje mes apžvelgsime, kas ypatinga „Angular 8“, ir parodysime, kaip pradėti. Pirma, trumpai pažvelkime į tai, kas nutiko iki šiol.

„Angular“ įvedimas paskatino paradigmos keitimąsi žiniatinklio kūrime: nors dauguma bibliotekų apsiribojo paramos teikimu kūrėjams, kurių architektūrinis poveikis buvo palyginti ribotas, „Angular“ kūrėjų komanda ėjo kita linkme. Jų produktas verčia jus naudoti specifinę architektūrą, kurios nuokrypiai svyruoja nuo sunkių iki komerciškai beprasmiškų. Tiesą sakant, dauguma „Angular“ kodų paleidžiami per gana sudėtingą transpiliacijos įrankių grandinę, kol ji niekada nepasiekė naršyklės.

Dėl didžiulės „Angular“ sėkmės tiek „Google Inc“ viduje, tiek už jos ribų plėtra iš esmės stabilizavosi. Tai reiškia, kad kodo pakeitimų yra nedaug, o pusmečio atnaujinimai yra orientuoti į sistemos pritaikymą prie interneto naršymo peizažo pokyčių.


Pavyzdžiui, „Angular 8“ atveju yra įdiegtas naujas „JavaScript“ kompiliatorius (nors ir vis dar eksperimentiškai). Jis optimizuoja sugeneruotą suderinamumo kodą, kad jis būtų žymiai mažesnis ir greitesnis senesnių naršyklių sąskaita. Be to, „Web Worker“ palaikymas yra integruotas, kad padidintų „Angular“ apdorojimo galimybes. Trumpai tariant, yra daug ką pamatyti - todėl pasinerkime tiesiai į vidų.

Jei norėtumėte sukurti svetainę be kodo, išbandykite vieną iš šių paprastų svetainių kūrėjų. Jei norite, kad viskas vyktų dar sklandžiau, tinkinkite savo interneto prieglobos paslaugą.

01. Paleiskite versijos patikrinimą

„Angular“ įrankių grandinė gyvena „NodeJS“ aplinkoje. Nuo šio rašymo reikia „Node.js 10.9“ ar naujesnės versijos - jei atsidūrėte senesnėje versijoje, apsilankykite „Node.js“ svetainėje ir gaukite naujinį. Žemiau pateiktas kodas rodo šios mašinos versijos būseną.

tamhan @ TAMHAN18: ~ $ mazgas -v v12.4.0 tamhan @ TAMHAN18: ~ $ npm -v 6.9.0

02. Įdiekite kampinį

„Angular“ įrankių grandinė yra vadinama komandų eilutės priemone ng. Jį galima įdiegti per gerai žinomą NPM.


tamhan @ TAMHAN18: ~ $ sudo npm install -g @ angular / cli tamhan @ TAMHAN18: ~ $ ng versija

Atsargiai atsakykite į klausimą, parodytą žemiau esančiame paveikslėlyje.

Išvesti informaciją apie versiją iš įrankio yra gana sunku - ne tik sintaksė yra unikali, bet ir išvestis yra išsami (žr. Paveikslėlį žemiau).

03. Sukurkite projekto skeletą

ng generuoja mums kampinius pastolius. Atlikdami šiuos veiksmus, norime pridėti maršrutą ir naudoti „Sass“ CSS transliacijai. Jei diegimas dėl kokių nors priežasčių nepavyksta, ištuštinkite darbinį katalogą ir paleiskite iš naujo ng su supernaudotojo teisėmis.

tamhan @ TAMHAN18: ~ $ mkdir kampinė erdvė tamhan @ TAMHAN18: ~ $ cd kampinė erdvė / tamhan @ TAMHAN18: ~ / kampinis erdvė $ ng naujas darbo testas

04. Diržų diferencialo apkrova

Naujoji „Angular“ versija optimizuoja atgalinį suderinamumo kodą, kad sumažėtų poveikis - failas vadinamas naršyklių sąrašas leidžia nuspręsti, kurios naršyklės bus palaikomos. Atviras naršyklių sąrašas ir pašalinkite žodį ne priešais IE 9 iki IE11.


. . . > 0,5% paskutinių 2 „Firefox ESR“ versijų nėra miręs IE 9-11 # Jei norite palaikyti IE 9-11, pašalinkite „not“.

05. ... ir pamatysite rezultatus

Užsisakykite projekto kompiliaciją, pakeiskite į paskirstymo aplanką ir išvalykite nereikalingus žemėlapio failus.

tamhan @ TAMHAN18: ~ / angularspace / workertest $ sudo ng build tamhan @ TAMHAN18: ~ / angularspace / workertest / dist / workertest $ ls

Norėdami pamatyti rezultatus, iškvieskite medį - ng sukuria kelias įvairių kodo failų versijas (žr. paveikslėlį žemiau).

06. Paršykite interneto darbuotoją

Žiniatinklio darbuotojai leidžia „JavaScript“ patekti į paskutinę vietinių programų sieną: masiškai lygiagrečiai apdoroti užduotis. Naudojant „Angular 8“, žiniatinklio darbuotojas gali būti sukurtas patogiai ng komandinės eilutės įrankis.

tamhan @ TAMHAN18: ~ / angularspace / workertest $ sudo ng generuoti internetinį darbuotoją „myworker“ CREATE tsconfig.worker.json (212 baitai) CREATE src / app / myworker.worker.ts (157 baitai) ATNAUJINTI tsconfig.app.json (236 baitai) ) ATNAUJINTI angular.json (3640 baitų)

07. Naršykite kodą

ngGreičiausiai iš pirmo žvilgsnio atrodys bauginanti. Failo atidarymas src / app / myworker.worker.ts pasirinktame kodo redaktoriuje atskleidžia kodą, kurį turėtumėte gerai žinoti iš „WebWorker“ specifikacija. Iš esmės darbuotojas gauna žinutes ir jas prireikus apdoroja.

/// reference lib = "webworker" /> addEventListener (’message’, ({data}) => {const response = `darbuotojo atsakymas į $ {data}; postMessage (atsakymas);});

08. Pastatykite pastolius

Kampinės programos susideda iš komponentų. Mūsų interneto darbuotoją atleisti geriausia tai padaryti „AppComponent“, kuris yra išplėstas įtraukiant „OnInit“ įvykis. Kol kas jis skleis tik informaciją apie būseną.

importuoti {Component, OnInit} iš „@ angular / core“; @Component ({...}) Eksporto klasė „AppComponent“ įgyvendina „OnInit“ {title = ’workertest’; ngOnInit () {console.log ("AppComponent: OnInit ()"); }}

09. Nesijaudinkite dėl konstruktoriaus trūkumo

Patyrę „TypeScript“ kūrėjai klausia savęs, kodėl mūsų kodas nenaudoja konstruktoriaus, kurį teikia programavimo kalba. To priežastis yra ta ngOnInit yra gyvenimo ciklo įvykis, kuris įsijungia, kai vyksta inicijavimo įvykis - to nereikia sieti su klasės iškvietimu.

10. Atlikite mažą kompiliavimo paleidimą

Šiuo metu programa yra paruošta vykdyti. Vykdysime jį iš serverio, esančio ng, kurį galima iškviesti per „serve“ komandą. Puikus šio požiūrio aspektas yra tai, kad programa aptinka pakeitimus ir iš naujo kompiliuoja projektą.

tamhan @ TAMHAN18: ~ / angularspace / workertest $ sudo ng serve

Pažvelkite į paveikslą, kad pamatytumėte tai paveikslėlyje žemiau esančiame paveikslėlyje.

11. ... ir raskite išvestį

tarnauti pateikia savo vietinio interneto serverio adresą, kuris paprastai yra http: // localhost: 4200 /. Atidarykite tinklalapį ir atidarykite kūrėjo įrankius, kad pamatytumėte būsenos išvestį. Turėkite tai omenyje console.log išleidžia duomenis į naršyklės konsolę ir palieka „NodeJS“ egzemplioriaus konsolę nepaliestą.

12. Pradėkite dirbti

Šiuo metu mes sukuriame darbuotojo egzempliorių ir pateikiame jam pranešimą. Tada jo rezultatai rodomi naršyklės konsolėje.

if (Typeof Worker! == ’undefined’) {// Sukurti naują const darbuotoją = new Worker (’./ myworker.worker’, {type: ’module’}); darbuotojas.onmessage = ({duomenys}) => {konsolė.logas (puslapis gavo pranešimą: $ {duomenys } ’); }; darbininkas.postMessage (’labas’); } else {console.log ("Nėra palaikymo darbuotojams"); }

13. Tyrinėkite Ivy

Būsimose „Angular“ versijose bus naudojamas pažangesnis kompiliatorius, todėl bus dar mažesni rodiniai. Kol produktas dar nėra baigtas, galima išgauti gebenę turintį skeletą Naujas gebenių projektas - įgalinti gebenė. Arba pakeiskite kompiliatoriaus nustatymus, kaip parodyta fragmente.

"angularCompilerOptions": {"enableIvy": true}

Įspėjamasis žodis: Ivy lemia nuostabų dydžio sumažėjimą, tačiau jis nėra nemokamas. Produktas dar neturi stabilizuotis, todėl jo naudoti produktyvioje aplinkoje nerekomenduojama.

14. Išbandykite modifikuotą perdirbimą

Kampinis ng komandinės eilutės įrankis kurį laiką viduje naudojo vaikų scenarijus. Kampinis 8 padidina ante, kad dabar jūs taip pat galite naudoti šią galimybę savo užduotims atlikti, kai jūsų programa yra surinkta ir kompiliuota.

"architektas": {"statyti": {"statybininkas": "@ angular-devkit / build-angular: naršyklė",

Vienas tvarkingas ng scenarijai apima tiesioginį programų įkėlimą į debesijos paslaugas. „Git“ saugykloje yra naudingas scenarijus, kuris įkelia jūsų darbą į „Firebase“ paskyrą.

15. Mėgaukitės pagerėjusia migracija

Kūrėjai, persikėlę iš „Angular 1.x“, dar vadinamo „AngularJS“, turėjo nemažą dalį problemų, leidžiančių navigatoriui veikti tinkamai „kombinuotose“ programose. Naujoji „Unified Location Service“ siekia, kad šis procesas vyktų sklandžiau.

16. Naršykite darbo srities valdymą

Dideliems projektams naudinga galimybė dinamiškai pakeisti darbo srities struktūrą. Tai daroma naudojant naują „Workspace“ API, pristatytą „Angular 8.0“ - prie šio veiksmo pridėtas fragmentas suteikia greitą elgesio apžvalgą.

async funkcija demonstruoja () {const host = darbo sritis. createWorkspaceHost (naujas NodeJsSyncHost ()); const darbo sritis = laukti darbo vietų. readWorkspace (’kelias / į / darbo sritį / katalogą /’, pagrindinis kompiuteris); const projektas = workspace.projects. gauti (’mano programa’); const buildTarget = project.targets. gauti (’statyti’); buildTarget.options.optimization = true; laukti darbo vietos.writeWorkspace (darbo sritis, pagrindinė); }

17. Pagreitinkite procesą

Kurti dideles „JavaScript“ kodų bazes tampa nuobodu. Būsimose „AngularJS“ versijose procesui paspartinti bus naudojama „Google“ „Bazel“ sukūrimo sistema - deja, rašymo metu ji dar nebuvo pasirengusi.

18. Venkite vaikščiojančių mirusiųjų

Nors „Google“ labai rūpinasi, kad nesulaužytų kodo, kai kurias funkcijas tiesiog reikia pašalinti, nes jos nebereikalingos. Patikrinkite šį nusidėvėjimo sąrašą, kad sužinotumėte daugiau apie funkcijas, kurių reikėtų vengti.

19. Pažvelkite į pakeitimų žurnalą

Kaip visada, vienas straipsnis niekada negali būti teisingas visam leidiniui. Laimei, šiame pakeitimų žurnale pateikiamas išsamus visų pakeitimų sąrašas - tik tuo atveju, jei kada nors norėtumėte patikrinti ypač brangios funkcijos pulsą.

Turite paruošę daug failų įkelti į savo svetainę? Sukurkite jų atsarginę kopiją patikimiausioje debesų saugykloje.

Šis straipsnis iš pradžių buvo paskelbtas kūrybinio interneto dizaino žurnale Interneto dizaineris.

Įspūdingi Straipsniai
Ar galite atspėti filmą su šiais retro filmų citatų plakatais?
Skaityti Daugiau

Ar galite atspėti filmą su šiais retro filmų citatų plakatais?

E ame dideli retro plakatų dizaino gerbėjai čia, „Creative Bloq“, ir kai jie ujungia keletą mėg tamiau ių kultinių filmų, negalėtume būti laiminge ni. Iliu tratoriu ir dizaineri Gordona Reida ukūrė gr...
Atsisiųskite „3D World 211“ failus
Skaityti Daugiau

Atsisiųskite „3D World 211“ failus

Norėdami at i ių ti „3D World 211“ numerio pridedamu failu , tie iog pu telėkite nuorodą, e ančią po kiekvienu traip niu, o ZIP faila automatiškai at i ių turinį į jū ų „Mac“ ar a meninį kompiuterį.Je...
27 geriausi nemokamų piktogramų rinkiniai
Skaityti Daugiau

27 geriausi nemokamų piktogramų rinkiniai

Nemokamų piktogramų paieška yra daug laiko reikalaujanti proce a , kuri dažnai nemeta daugybė lobių. Piktogramo yra e mini dizaino komponenta , tačiau individualių piktogramų ukūrima taip pat reikalau...