Tabl Cynnwys[Cuddio][Dangos]
- Felly, beth yw ffederasiwn modiwlau?
- Pam ffedereiddio modiwlau?
- Cydrannau craidd ffederasiwn modiwl
Nodweddion craidd Ffederasiwn Modiwl+-
- Perfformiad gwe rhagorol
- Datblygiad effeithiol
- Y gallu i hunan-wella a dileu swydd
- Trin dibyniaethau cyffredin yn effeithiol
- Yn hytrach na gorfod ail-leoli defnyddwyr, defnyddio cod annibynnol.
- Wrth redeg, mewngludo cod o adeiladau eraill.
- Gwell profiad datblygwr tra'n cadw profiad cleient
- Mae micro-ffryntiadau'n gweithredu mewn modd monolithig.
- Casgliad
Mae'r cysyniad o ffryntiadau meicro yn cymhwyso microwasanaethau i ddatblygiad blaen blaen.
Y syniad yw torri'r cymhwysiad neu'r wefan yn ddarnau llai, wedi'u datblygu'n annibynnol sydd wedyn yn cael eu cysylltu yn ystod amser rhedeg, yn hytrach na'u creu fel monolith sengl, cydlynol.
Mae'r dull yn eich galluogi i greu cydrannau eraill o'r rhaglen gan ddefnyddio technolegau eraill a gyda thimau annibynnol.
Y syniad yw lleihau'r costau cynnal a chadw sy'n gysylltiedig â monolith nodweddiadol trwy segmentu datblygiad yn y modd hwn.
Trwy ganiatáu iddynt ganolbwyntio ar faes penodol o gais fel tîm cydlynol, mae hefyd yn gwneud mathau newydd o gydweithredu rhwng devs backend a frontend yn bosibl.
Er enghraifft, efallai bod gennych chi dîm sy'n llwyr gyfrifol am y gallu i chwilio neu agwedd arall ar gynnyrch allweddol sy'n hanfodol i fusnes.
Diolch i ffederasiwn y modiwl, mae gennych chi ddigon o ymarferoldeb i drin y llif gwaith y mae'r ffryntiad micro mandadau ymagwedd.
Bydd y swydd hon yn edrych yn ddwfn ar bensaernïaeth y ffederasiwn modiwlau, yn ogystal â'i brif nodweddion a phatrymau cymhwyso.
Felly, beth yw a ffederasiwn modiwlau?
Mae dyluniad ffederasiwn modiwlau Javascript yn defnyddio rhannau wedi'u hailddefnyddio mewn llawer o gymwysiadau.
Mae'n jargon eithaf sylfaenol, ond yn syml iawn rydw i wedi gwneud iddo ymddangos fel hyn i ymddangos yn awel.
Gan ein bod i gyd yn gyfarwydd â rhannu cydrannau o fewn cymhwysiad React, mae Ffederasiwn Modiwlau i bob pwrpas yn cyflawni'r un nod yn ymarferol, ac eithrio ei fod yn amlygu modiwlau cymhwysiad yn ddeinamig i'w bwyta gan gymwysiadau eraill.
Mae Ffederasiwn Modiwlau yn ceisio goresgyn y broblem o rannu modiwlau mewn system ddosbarthedig trwy gyflwyno'r elfennau allweddol hynny a rennir fel macro neu ficro fel y dymunir.
Cyflawnir hyn trwy eu tynnu o'ch apiau a'r llif gwaith adeiladu.
Pam ffedereiddio modiwlau?
Dyma rai ffactorau y gall ffederasiwn modiwlau eu trin yn hawdd:
- Allanolion a DLLs (Llyfrgelloedd Cyswllt Dynamig) oedd y cyfan oedd gennym o bryd i'w gilydd ar gyfer rhannu swyddogaethau rhwng apiau. Roedd hyn oll yn ei gwneud hi'n hynod heriol graddio rhannu cod.
- Mae NPM yn swrth.
- Pan fydd dwy raglen ar wahân yn rhannu cod hollbwysig, rhaid iddynt fod yn ddeinamig ac yn hyblyg.
Er mwyn i apiau annibynnol fod yn gyfan gwbl yn eu cadwrfa eu hunain, eu defnyddio ar wahân, a gweithredu fel eu SPA annibynnol eu hunain, crëwyd Ffederasiwn Modiwlau.
Cydrannau craidd ffederasiwn modiwl
Cyn plymio'n ddyfnach, mae'n bwysig trafod yn fyr ychydig o gysyniadau newydd a ddaw yn sgil ffedereiddio modiwlau.
- Gwesteiwr: Pan fydd tudalen yn llwytho, gelwir yr adeiladwaith neu'r modiwl a ddechreuwyd i ddechrau yn westeiwr. Gellir meddwl am ddarparwr fel gwesteiwr.
- Anghysbell: Mae teclyn anghysbell yn luniad gwahanol sy'n defnyddio cyfran o'r gwesteiwr. Cyfeirir atynt hefyd fel cwsmeriaid.
- Gwesteiwr deugyfeiriadol: adeilad Webpack sy'n gweithredu fel teclyn anghysbell y mae gwesteiwyr eraill yn ei ddefnyddio a gwesteiwr sy'n defnyddio teclynnau anghysbell.
- Ffederasiwn gwerthwyr: mae'n galluogi rhannu amser rhedeg yn ddatganoledig o ddibyniaethau modiwl npm ar gyfer gwesteiwr neu bell, waeth ble maent yn cael eu llwytho. Mae un o'r problemau perfformiad mawr gyda micro frontends yn cael ei ddatrys yn y modd hwn.
Patrymau Cais Ffederal
System Ddylunio Bytholwyrdd
Un o'r mathau mwyaf sylfaenol o gymwysiadau ffederal yw “peiriant anghysbell bytholwyrdd,” sef teclyn anghysbell a rennir fel “System Ddylunio” neu “Llyfrgell Cydran” sy'n cael ei ddosbarthu'n annibynnol a'i ddiweddaru ar gyfer pob defnyddiwr.
Heb fod angen i bob tîm ap dreulio amser ar adolygiadau, gallai hyn fod yn ddefnyddiol i sicrhau bod pob gwefan ar-lein yn cadw at yr hunaniaeth gorfforaethol ddiweddaraf.
Er mwyn dylunio a rhoi'r terfynau a'r gweithdrefnau angenrheidiol ar waith i warantu diweddariadau diogel, parhaus, gallai hwn fod yn fan defnyddiol i fusnesau ddechrau wrth ystyried saernïaeth cais ffederal.
Isod mae rhai achosion defnydd lle gallai systemau anghysbell a rennir a ddefnyddir yn annibynnol fod yn ffit addas:
- Systemau dylunio
- Cregyn cais
- Llyfrgelloedd cydran
- Defnyddwyr
- Pecynnau cymorth a rennir
- Modelau dosbarthu amgen ar gyfer teclynnau a ddefnyddir gan fewnol neu allanol
Rhannu Modiwlau Aml-SPA
Ailddefnyddiwch nodweddion sydd eisoes wedi'u hallforio, megis cydrannau, mewn gwahanol apiau un dudalen annibynnol. Mae buddion yn cynnwys:
- Mae defnyddwyr yn derbyn diweddariadau awtomataidd
- Mae arbenigedd maes yn parhau ar y tîm sy'n gyfrifol amdano.
- Symleiddio'r weithdrefn leoli oherwydd nid oes angen rhyddhau modiwlau ar wahân.
Ffederasiwn a yrrir gan gregyn
Mae'r ffederasiwn a yrrir gan gregyn yn cynnwys:
- Wrth greu fersiwn cynnyrch newydd, nid yw'r tîm Cynnyrch yn aros i'r tîm Checkout gwblhau eu swydd.
- Wrth newid teclynnau rheoli, nid oes unrhyw ail-lwytho tudalen.
- Pan fo angen, mae Shell yn cynnig llwytho o bell araf a llwybro (lefel uchaf).
- Mae llwybro ar draws teclynnau anghysbell yn bosibl trwy ffederasiwn gwerthwyr, sy'n galluogi ailddefnyddio pecynnau npm a ddefnyddir yn aml.
- Mae Shell yn cynnig y fframwaith a dibyniaethau cyffredin eraill sy'n cael eu hailddefnyddio gan y teclynnau anghysbell llwythog diog.
Ffederasiwn aml-gragen
Yn debyg i'r ffederasiwn a yrrir gan gregyn a ddisgrifir uchod, ond yn defnyddio gwahanol gregyn.
Mae'n cynnwys:
- nifer o gregyn
- Labelu gwyn
- Nid oes angen pob teclyn anghysbell ar Shell B ac nid oes ganddynt weithrediadau annibynnol.
Nodweddion craidd Ffederasiwn Modiwl
Perfformiad gwe rhagorol
Y mater gyda chyfansoddiad modiwl arferol NPM yw, wrth i nifer y dibynyddion gynyddu, mae maint y cais yn gyffredinol yn tyfu.
Er mwyn osgoi llwytho bwndeli pan fydd eich cais yn llwytho a dim ond yn eu llwytho pan fo angen, mae Ffederasiwn Modiwlau yn cynnig y gallu i chi lwytho bwndeli yn ddiog.
Mae hyn yn atal yr angen i lawrlwytho modiwlau cyn bod eu hangen mewn gwirionedd, sy'n gwella cyflymder y safle.
Datblygiad effeithiol
Gall pob prosiect gael ei gynhyrchu a'i gyflwyno ar ei ben ei hun a gellir ei gyflawni gan dimau amrywiol oherwydd mae Ffederasiwn Modiwlau yn eich annog i drefnu'ch cais yn brosiectau ar wahân fel y gallwch eu hadeiladu a'u defnyddio ar wahân (ac felly yn gyfochrog).
Y gallu i hunan-wella a dileu swydd
Mae dibyniaethau a rennir yn caniatáu i Ffederasiwn Modiwlau gadw golwg ar holl ddibyniaethau eich rhaglen mewn un lle.
Fel hyn, hyd yn oed pan nad yw cais yn datgan dibyniaeth neu pan fo problemau rhwydwaith, mae'n dal i wybod beth sydd ei angen arno a gall drin ei lawrlwytho yn ôl yr angen.
Trin dibyniaethau cyffredin yn effeithiol
Yn ogystal, mae Ffederasiwn Modiwlau yn cynnig rheolaeth ddibyniaeth uwch, gan ddatrys gofynion gwerthwr a thrydydd parti yn effeithiol fel na fydd eich cais byth yn llwytho mwy nag un fersiwn o lyfrgell.
Yn hytrach na gorfod ail-leoli defnyddwyr, defnyddio cod annibynnol.
Mae gan y datblygwr ddiddordeb mawr mewn cael ymarferoldeb bytholwyrdd. Unwaith y bydd ymarferoldeb dibynnol agored wedi newid, ni fydd angen ailosod y defnyddwyr mwyach.
Rhaid imi gyfaddef bod hon yn nodwedd hynod rymus ynddi’i hun, ac yn un y bydd angen ei harchwilio’n ofalus i atal canlyniadau annisgwyl.
Wrth redeg, mewngludo cod o adeiladau eraill.
Wrth fabwysiadu model pecyn yr NPM, efallai y byddwn yn ystyried apiau sy'n defnyddio Ffederasiwn Modiwlau yn debyg i APIs yn hytrach na rhannu cod a meddwl am “lyfrgell.”
Yn yr un modd ag y gallant hefyd dderbyn ymarferoldeb o apiau eraill, gall cymwysiadau gwe bellach ddarparu'r swyddogaeth i gymwysiadau eraill.
Gwell profiad datblygwr tra'n cadw profiad cleient
unrhyw Datblygwr JavaScript Bydd yn eithaf cyfforddus gyda Module Federation oherwydd ei fod yn ategyn Webpack sy'n hygyrch o fersiwn Webpack 5.
Mae hyn mewn gwirionedd braidd yn gryf ac yn ddiddorol os ydym yn rhoi rhywfaint o ystyriaeth iddo.
Trwy ddefnyddio llwythwyr Webpack trydydd parti, ystyriwch yr holl gydrannau sydd Webpack bwndeli, gan gynnwys sgriptiau, asedau, arddulliau, lluniau, markdowns, a mwy.
Trwy ddefnyddio Module Federation, gellir rhannu a ffedereiddio'r rhain i gyd.
Mae micro-ffryntiadau'n gweithredu mewn modd monolithig.
Mae'n eithaf hawdd ychwanegu ymarferoldeb a rennir at eich cais; Mewnforiwch y bwndel fel arfer neu defnyddiwch lwytho cydamserol.
Fel arall, dim ond pan fo angen y gellir defnyddio llwytho asyncronig i lwytho dibyniaethau trwy ddefnyddio llwytho diog.
Casgliad
Yn y swydd hon, rydym wedi trafod Ffederasiwn Modiwlau fel dewis gwych ar gyfer datblygu eich cais micro-frontend.
Mae caniatáu i apiau gyfnewid a defnyddio ymarferoldeb yn ystod amser rhedeg yn annog graddadwyedd trwy alluogi timau amrywiol i weithio ar gymwysiadau annibynnol.
Pan fydd y swyddogaeth gyffredin yn newid, ni fydd angen i chi ddylunio a defnyddio'ch defnyddwyr gan ei fod yn cefnogi ymarferoldeb bythwyrdd.
Bydd eich rhaglen yn gweithredu fel monolith ar ôl iddi gael ei sefydlu, sy'n wych.
Defnyddir dibyniaethau y gellir eu rhannu i leihau maint apiau. Gan fod llawer o ddatblygwyr eisoes yn gyfarwydd ag amgylchedd Webpack, mae profiad y datblygwr yn rhagorol.
Gadael ymateb