Table of Contents[Hūnā][Hōʻike]
- No laila, he aha ka hui ʻana o ka module?
- No ke aha ka hui ʻana o ka module?
- Nā ʻāpana koʻikoʻi o ka hui hui
Nā hiʻohiʻona koʻikoʻi o Module Federation+-
- ʻO ka hana pūnaewele maikaʻi loa
- Hoʻomohala kūpono
- ʻO ka hiki ke ho'ōla iā ia iho a me ka redundancy
- Hoʻohana kūpono i nā hilinaʻi maʻamau
- Ma kahi o ka hoʻokau hou ʻana i nā mea kūʻai aku, e hoʻokau i ka code kūʻokoʻa.
- Ke holo nei, e hoʻokomo i ka code mai nā hale kūkulu ʻē aʻe.
- Hoʻonui i ka ʻike mea hoʻomohala ʻoiai e mālama ana i ka ʻike mea kūʻai aku
- Hana ʻia nā micro-frontends ma kahi ʻano monolithic.
- Panina
ʻO ka manaʻo o nā micro frontends e pili ana i nā microservices i ka hoʻomohala mua.
ʻO ka manaʻo e wāwahi i ka noi a i ʻole ka pūnaewele i loko o nā ʻāpana liʻiliʻi, hoʻomohala kūʻokoʻa i hoʻopili ʻia i ka wā holo, ma kahi kūʻē i ka hana ʻana iā lākou ma ke ʻano he monolith hoʻokahi.
Hiki iā ʻoe ke hana i nā ʻāpana ʻē aʻe o ka noi me ka hoʻohana ʻana i nā ʻenehana ʻē aʻe a me nā hui kūʻokoʻa.
ʻO ka manaʻo e hōʻemi i nā lilo mālama e pili ana i kahi monolith maʻamau ma ka hoʻokaʻawale ʻana i ka hoʻomohala ʻana ma kēia ʻano.
Ma ka ʻae ʻana iā lākou e noʻonoʻo i kahi ʻāpana o kahi noi ma ke ʻano he hui koʻikoʻi, hana ia i nā ʻano hana hou o ka launa pū ʻana ma waena o backend a me frontend devs hiki.
No ka laʻana, loaʻa paha iā ʻoe kahi hui nona wale ke kuleana no ka hiki ke ʻimi a i ʻole kekahi ʻano o kahi huahana koʻikoʻi i kahi ʻoihana.
Mahalo i ka module federation, ua lawa kāu hana e mālama ai i ke kahe hana micro frontend hoʻokokoke kauoha.
E nānā hohonu kēia pou i ka hoʻolālā ʻana o ka hui module, a me kāna mau hiʻohiʻona nui a me nā hiʻohiʻona noi.
No laila, he aha ia hui hui?
Hoʻohana ʻia nā ʻāpana hoʻohana hou ʻia e ka Javascript module federation design ma nā noi he nui.
He jargon maʻamau ia, akā ua hana wale wau me he mea lā e ʻike ʻia ka makani.
ʻOiai ua kamaʻāina mākou i ka kaʻana like ʻana i nā ʻāpana i loko o kahi noi React, hoʻokō pono ʻo Module Federation i ka pahuhopu like i ka hoʻomaʻamaʻa ʻana, koe wale nō ka hōʻike ʻana i nā modula noi no ka ʻai ʻana e nā noi ʻē aʻe.
Ke ʻimi nei ʻo Module Federation e lanakila i ka pilikia o ke kaʻana like ʻana o ka module ma kahi ʻōnaehana puʻunaue ʻia ma o ka hāʻawi ʻana i kēlā mau mea kaʻana like me macro a micro paha e like me ka makemake.
Hoʻokō ʻia kēia ma ka lawe ʻana iā lākou mai kāu mau polokalamu a me ke kaʻina hana kūkulu.
No ke aha ka hui ʻana o ka module?
Eia kekahi mau mea i hiki ke maʻalahi ka hui ʻana o module:
- ʻO nā waho a me nā DLL (Dynamic Link Libraries) nā mea a mākou i loaʻa i kekahi manawa no ka kaʻana like ʻana i nā hana ma waena o nā polokalamu. ʻO ia mau mea a pau i paʻakikī loa ka hoʻokaʻawale code scaling.
- Ua lohi ka NPM.
- Ke kaʻana like nā papahana ʻelua i nā code koʻikoʻi, pono lākou e hoʻoikaika a maʻalahi.
I mea e paʻa pono ai nā polokalamu kūʻokoʻa i loko o kā lākou waihona ponoʻī, hoʻokaʻawale ʻokoʻa, a hana e like me kā lākou SPA kūʻokoʻa, ua hana ʻia ʻo Module Federation.
Nā ʻāpana koʻikoʻi o ka hui hui
Ma mua o ka luʻu ʻana i ka hohonu, e kūkākūkā pōkole i kekahi mau manaʻo hou i lawe ʻia e ka ʻahahui module.
- Host: Ke hoʻouka ʻia kahi ʻaoʻao, ua kapa ʻia ke kūkulu a i ʻole module i hoʻomaka mua ʻia he host. Hiki ke noʻonoʻo ʻia kahi mea hoʻolako ma ke ʻano he mea hoʻokipa.
- Ka mamao: ʻO kahi mamao kahi kūkulu ʻokoʻa e hoʻohana ana i kahi ʻāpana o ka host. Ua kapa ʻia lākou he mea kūʻai aku.
- Bi-directional host: kahi Webpack i kūkulu ʻia e like me kahi mamao e ʻai ai nā pūʻali ʻē aʻe a me kahi pūʻali e hoʻopau i nā mamao.
- Hui Kūʻai: hiki ke kaʻana like i ka manawa holo kaʻana like ʻana o nā mea hilinaʻi npm module no kahi mea hoʻokipa a mamao paha, me ka nānā ʻole i ka wahi i hoʻouka ʻia ai. Hoʻoholo ʻia kekahi o nā pilikia hana nui me nā micro frontends ma kēia ala.
Nā hiʻohiʻona o ka noi hui
Pūnaehana Hoʻolālā Evergreen
ʻO kekahi o nā ʻano maʻamau o nā noi federated he "evergreen remote," kahi mamao kaʻana like me ka "Design System" a i ʻole "Component library" i hoʻohele kūʻokoʻa ʻia a hōʻano hou ʻia no nā mea hoʻohana āpau.
Me ka ʻole o kēlā me kēia hui app e pono e hoʻolilo i ka manawa no ka hoʻoponopono ʻana, kōkua paha kēia i ka hōʻoia ʻana e pili pono nā pūnaewele pūnaewele āpau i ka ʻike ʻoihana hou loa.
I mea e hoʻolālā a hoʻokomo i nā palena a me nā kaʻina hana e hōʻoiaʻiʻo ai i ka palekana, ka hoʻomau mau ʻana, he wahi kūpono paha kēia no nā ʻoihana e hoʻomaka i ka wā e noʻonoʻo ai i kahi hoʻolālā noiʻi hui.
Ma lalo iho nei kekahi mau hihia hoʻohana i kūpono i nā mamao kaʻana like i hoʻonohonoho kūʻokoʻa:
- Nā ʻōnaehana hoʻolālā
- Nā pūpū noi
- Nā waihona waihona
- Ka poʻe lawelawe
- Nā mea hana like
- Nā kumu hoʻohālike ʻokoʻa no nā widget i hoʻohana ʻia e loko a i waho paha
Kaʻana like ʻana o ka Module Multi-SPA
E hoʻohana hou i nā hiʻohiʻona i lawe mua ʻia, e like me nā ʻāpana, i nā polokalamu ʻaoʻao hoʻokahi ʻokoʻa. Loaʻa nā pōmaikaʻi:
- Loaʻa i nā mea kūʻai aku nā hoʻolaha ʻakomi
- Noho mau ka ʻike domain ma ka hui nāna e mālama.
- Hoʻopololei i ke kaʻina hana no ka mea ʻaʻole pono nā hoʻokuʻu ʻokoʻa.
Hui hoʻokele Shell
ʻO ka hui i alakaʻi ʻia i ka pūpū me:
- I ka hana ʻana i kahi mana huahana hou, ʻaʻole kali ka hui Huahana no ka hui Checkout e hoʻopau i kā lākou hana.
- Ke hoʻololi i nā mamao, ʻaʻohe ʻaoʻao hoʻouka hou.
- I ka wā e pono ai, hāʻawi ʻo Shell i ka hoʻouka ʻana i kahi mamao lohi a me ke ala kiʻekiʻe.
- Hiki ke hele ma waena o nā mamao ma o ka hui kūʻai aku, hiki ke hoʻohana hou i nā pūʻolo npm i hoʻohana pinepine ʻia.
- Hāʻawi ʻo Shell i ke kāʻei a me nā mea hilinaʻi maʻamau i hoʻohana hou ʻia e nā mamao hoʻouka ʻia.
Hui pūhui pūhui
E like me ka hui hoʻokele pūpū i hōʻike ʻia ma luna, akā hoʻohana ʻia nā pūpū ʻokoʻa.
Aia i:
- he mau pūpū
- Lepili keʻokeʻo
- ʻAʻole koi ʻia nā mamao āpau e Shell B a i ʻole nā hoʻokō kūʻokoʻa.
Nā hiʻohiʻona koʻikoʻi o Module Federation
ʻO ka hana pūnaewele maikaʻi loa
ʻO ka pilikia me ka haku mele NPM maʻamau ʻo ia ke piʻi ʻana o ka nui o nā mea hilinaʻi, e ulu maʻamau ka nui o ka noi.
I mea e pale aku ai i ka hoʻouka ʻana i nā pūʻolo i ka wā e hoʻouka ai kāu noi a hoʻouka wale iā lākou inā pono, hāʻawi ʻo Module Federation iā ʻoe i ka hiki ke hoʻouka me ka palaualelo.
Mālama kēia i ka pono e hoʻoiho i nā modula ma mua o ka koi ʻia ʻana, kahi e hoʻomaikaʻi ai i ka wikiwiki o ka pūnaewele.
Hoʻomohala kūpono
Hiki ke hana ʻia a hāʻawi ʻia kēlā me kēia pāhana ma kahi kaʻawale a hiki ke hoʻokō ʻia e nā hui like ʻole no ka mea paipai ʻo Module Federation iā ʻoe e hoʻonohonoho i kāu noi i loko o nā papahana ʻokoʻa i hiki iā ʻoe ke kūkulu a hoʻokaʻawale iā lākou ma kahi kaʻawale (a no laila e like pū).
ʻO ka hiki ke ho'ōla iā ia iho a me ka redundancy
ʻO nā mea hilinaʻi kaʻana like e ʻae iā Module Federation e mālama i nā hilinaʻi āpau o kāu papahana ma kahi hoʻokahi.
ʻO kēia ala, ʻoiai inā ʻaʻole haʻi ka palapala noi i kahi hilinaʻi a i ʻole nā pilikia pūnaewele, ʻike mau ʻo ia i kāna mea e pono ai a hiki ke hoʻoiho iā ia e like me ka mea e pono ai.
Hoʻohana kūpono i nā hilinaʻi maʻamau
Hoʻohui hou, hāʻawi ʻo Module Federation i ka hoʻokele hilinaʻi ʻoi aku ka maikaʻi, e hoʻoponopono pono i ka mea kūʻai aku a me nā koi ʻaoʻao ʻekolu i ʻole e hoʻouka ʻia kāu noi ma mua o hoʻokahi mana o kahi waihona.
Ma kahi o ka hoʻokau hou ʻana i nā mea kūʻai aku, e hoʻokau i ka code kūʻokoʻa.
Makemake nui ka mea hoʻomohala i ka loaʻa ʻana o ka hana evergreen. Ke hoʻololi hou ʻia ka hana hilinaʻi, ʻaʻole pono e hoʻokomo hou i nā mea kūʻai aku.
Pono wau e ʻae he hiʻohiʻona ikaika loa kēia i loko a nona iho, kahi e pono ai ka nānā pono ʻana e pale i nā hopena i manaʻo ʻole ʻia.
Ke holo nei, e hoʻokomo i ka code mai nā hale kūkulu ʻē aʻe.
I ka hoʻohana ʻana i ke kumu hoʻohālike NPM, hiki iā mākou ke noʻonoʻo i nā polokalamu e hoʻohana ana i ka Module Federation e like me nā API ma mua o ke kaʻana ʻana i ka code a me ka noʻonoʻo ʻana i ka "hale waihona puke."
Ma ke ʻano like e hiki ai iā lākou ke loaʻa nā hana mai nā polokalamu ʻē aʻe, hiki i nā noi pūnaewele ke hāʻawi i ka hana i nā noi ʻē aʻe.
Hoʻonui i ka ʻike mea hoʻomohala ʻoiai e mālama ana i ka ʻike mea kūʻai aku
kekahi mea haku JavaScript e ʻoluʻolu loa me ka Module Federation no ka mea he polokalamu Webpack hiki ke loaʻa e like me ka Webpack version 5.
He mea ikaika loa kēia a he mea hoihoi loa inā mākou e noʻonoʻo ai.
Ma ka hoʻohana ʻana i nā mea hoʻoili Webpack ʻaoʻao ʻekolu, e noʻonoʻo i nā ʻāpana āpau Pūnaewele Pūnaewele pūʻolo, me nā palapala, nā waiwai, nā ʻano, nā kiʻi, nā hōʻailona, a me nā mea hou aku.
Ma ka hoʻohana ʻana i ka Module Federation, hiki ke kaʻana like a hui ʻia kēia mau mea āpau.
Hana ʻia nā micro-frontends ma kahi ʻano monolithic.
He mea maʻalahi ka hoʻohui ʻana i nā hana like i kāu noi; E hoʻokomo wale i ka pūʻolo e like me ka mea maʻamau a i ʻole e hoʻohana i ka hoʻouka like ʻana.
ʻO kahi ʻē aʻe, hiki ke hoʻohana ʻia ka hoʻouka ʻana asynchronous e hoʻouka i nā mea hilinaʻi inā pono ma ka hoʻohana ʻana i ka hoʻouka palaualelo.
Panina
Ma kēia pou, ua kūkākūkā mākou i ka Module Federation ma ke ʻano he koho maikaʻi loa no ka hoʻomohala ʻana i kāu noi micro-frontend.
ʻO ka hoʻokuʻu ʻana i nā polokalamu e hoʻololi a hoʻopau i ka hana i ka wā holo e paipai i ka scalability ma o ka ʻae ʻana i nā hui like ʻole e hana i nā noi kūʻokoʻa.
Ke hoʻololi ʻia ka hana maʻamau, ʻaʻole pono ʻoe e hoʻolālā a kau i kāu mea kūʻai aku no ka mea kākoʻo ia i ka hana evergreen.
E hana ana kāu polokalamu e like me ka monolith ma hope o ka hoʻonohonoho ʻia ʻana, he mea kupanaha.
Hoʻohana ʻia nā hilinaʻi kaʻana like e hōʻemi i ka nui o nā polokalamu. No ka mea ua ʻike mua nā mea hoʻomohala i ka ʻenehana Webpack, maikaʻi loa ka ʻike mea hoʻomohala.
Waiho i ka Reply