Гарчиг[Нуух][Үзүүлэх]
- Тэгэхээр модулийн холбоо гэж юу вэ?
- Яагаад модулийн холбоо гэж?
- Модулийн холбооны үндсэн бүрэлдэхүүн хэсгүүд
Модулийн холбооны үндсэн шинж чанарууд+-
- Маш сайн вэб гүйцэтгэл
- Үр дүнтэй хөгжил
- Өөрийгөө эдгээх чадвар, илүүдэл
- Нийтлэг хамаарлыг үр дүнтэй зохицуулах
- Хэрэглэгчдийг дахин байрлуулахын оронд бие даасан кодыг байрлуул.
- Ажиллаж байх үед бусад бүтээцээс код импортлох.
- Үйлчлүүлэгчийн туршлагыг хадгалахын зэрэгцээ хөгжүүлэгчийн сайжруулсан туршлага
- Микро фронтууд нь цул хэлбэрээр ажилладаг.
- Дүгнэлт
Micro frontends гэсэн ойлголт нь микро үйлчилгээг фронтэнд хөгжүүлэхэд ашигладаг.
Энэхүү санаа нь програм эсвэл вэбсайтыг бие даан боловсруулсан жижиг хэсгүүдэд хуваах бөгөөд тэдгээрийг нэгдмэл цул хэлбэрээр үүсгэхийн оронд ажиллуулах явцад холбогдсон байдаг.
Энэ арга нь бусад технологи, бие даасан багууд ашиглан програмын бусад бүрэлдэхүүн хэсгүүдийг үүсгэх боломжийг танд олгоно.
Ийм байдлаар хөгжлийг сегментчилснээр ердийн цултай холбоотой засвар үйлчилгээний зардлыг бууруулах санаа юм.
Тэдэнд нэгдмэл баг болж програмын тодорхой талбарт анхаарлаа төвлөрүүлэх боломжийг олгодог бөгөөд энэ нь арын болон урд талын хөгжүүлэгчид хоорондын хамтын ажиллагааны шинэ хэлбэрийг бий болгодог.
Жишээлбэл, танд хайлтын чадвар эсвэл бизнест чухал ач холбогдолтой гол бүтээгдэхүүний өөр нэг талыг дангаараа хариуцдаг баг байж болно.
Модулийн холбооны ачаар та ажлын урсгалыг зохицуулах хангалттай функцтэй болсон бичил урд хэсэг хандах чиг үүрэг.
Энэхүү нийтлэл нь модулийн холбооны архитектур, мөн түүний үндсэн шинж чанар, хэрэглээний хэв маягийг нарийвчлан авч үзэх болно.
Тэгэхээр, а модулийн холбоо?
Javascript-ийн модулийн нэгдлийн загвар нь олон программуудад дахин ашигласан хэсгүүдийг ашигладаг.
Энэ бол нэлээд энгийн үг хэллэг боловч би зүгээр л сэвшээ салхи мэт харагдуулахын тулд ийм маягаар тайлбарлав.
Бид бүгд React програм дотор бүрэлдэхүүн хэсгүүдийг хуваалцахыг мэддэг тул Модулийн Холбоо нь бусад програмын хэрэглээнд зориулж хэрэглээний модулиудыг динамик байдлаар ил гаргахаас бусад тохиолдолд практик дээр ижил зорилгыг үр дүнтэй биелүүлдэг.
Модулийн холбоо нь тараагдсан систем дэх модуль хуваалцах асуудлыг шийдвэрлэхийн тулд тэдгээр хуваалцсан гол элементүүдийг хүссэнээр макро эсвэл микро хэлбэрээр хүргэхийг эрмэлздэг.
Үүнийг таны апп-ууд болон бүтээх ажлын урсгалаас хассанаар гүйцэтгэнэ.
Яагаад модулийн холбоо гэж?
Модулийн холбоо хялбархан зохицуулж чадах зарим хүчин зүйлсийг энд дурдав:
- Гадны болон DLL файлууд (Динамик холбоосын сангууд) нь программуудын хооронд функцийг хуваалцахад бидэнд хааяа байдаг зүйл байсан. Энэ бүхэн нь масштабын код хуваалцахыг маш хэцүү болгосон.
- NPM удаашралтай байна.
- Хоёр тусдаа програм чухал кодыг хуваалцах үед тэдгээр нь динамик, уян хатан байх ёстой.
Бие даасан програмууд нь бүхэлдээ өөрийн нөөцөд байх, тусад нь байрлуулж, бие даасан SPA байдлаар ажиллахын тулд Модулийн Холбоог үүсгэсэн.
Модулийн холбооны үндсэн бүрэлдэхүүн хэсгүүд
Гүн шумбахаасаа өмнө модулийн холбооны авчирдаг хэд хэдэн шинэ үзэл баримтлалын талаар товч ярилцах нь чухал юм.
- Хост: Хуудсыг ачаалах үед анх эхлүүлсэн бүтээх эсвэл модулийг хост гэж нэрлэдэг. Үйлчилгээ үзүүлэгчийг хост гэж үзэж болно.
- Алсын удирдлага: Алсын удирдлага нь хостын нэг хэсгийг ашигладаг өөр бүтэц юм. Тэднийг мөн үйлчлүүлэгчид гэж нэрлэдэг.
- Хоёр чиглэлтэй хост: бусад хостууд ашигладаг алсын удирдлага болон алсын удирдлага ашигладаг хостын үүрэг гүйцэтгэдэг Webpack бүтээц.
- Борлуулагчийн холбоо: npm модулийн хамаарлыг ачаалагдсан байршлаас үл хамааран хост эсвэл алсын удирдлагад зарлах хэлбэрээр хуваалцахыг идэвхжүүлдэг. Микро урд талын гүйцэтгэлийн гол асуудлуудын нэг нь ийм байдлаар шийдэгддэг.
Холбооны хэрэглээний загварууд
Evergreen дизайны систем
Холбооны хэрэглээний хамгийн үндсэн хэлбэрүүдийн нэг нь "мөнх ногоон алсын удирдлага" бөгөөд энэ нь "Дизайн систем" эсвэл "Бүрэлдэхүүн хэсгүүдийн номын сан" зэрэг бүх хэрэглэгчдэд бие даан тарааж, шинэчлэгддэг.
Програмын баг бүр засвар хийхэд цаг зарцуулах шаардлагагүй бол энэ нь бүх онлайн сайтууд хамгийн сүүлийн үеийн компанийн таних тэмдэгтэй нийцэж байгаа эсэхийг баталгаажуулахад тустай байж болох юм.
Аюулгүй, байнгын шинэчлэлтийг баталгаажуулахад шаардлагатай хязгаарлалт, журмыг боловсруулж, хэрэгжүүлэхийн тулд энэ нь нэгдсэн програмын архитектурыг авч үзэхдээ бизнес эрхлэгчдэд хэрэгтэй газар байж болох юм.
Бие даан суурилуулсан дундын удирдлага тохиромжтой байж болох зарим хэрэглээний тохиолдлуудыг доор харуулав.
- Дизайн системүүд
- Хэрэглээний бүрхүүлүүд
- Бүрэлдэхүүн хэсгүүдийн сангууд
- Хэрэглэгчид
- Хуваалцсан хэрэгслүүд
- Дотоод эсвэл гадаад ашигладаг виджетүүдийн өөр түгээлтийн загварууд
Олон СПА модулийг хуваалцах
Бүрэлдэхүүн хэсгүүд гэх мэт аль хэдийн экспортлогдсон функцуудыг өөр өөр бие даасан нэг хуудас програмуудад дахин ашиглаарай. Үр ашиг нь:
- Хэрэглэгчид автомат шинэчлэлтийг хүлээн авдаг
- Домэйн мэдлэг нь түүнийг хариуцаж буй багт хэвээр байна.
- Тусдаа модуль гаргах шаардлагагүй тул байршуулах журмыг хялбаршуулдаг.
Shell-д суурилсан холбоо
Бүрхүүлээр удирдуулсан холбоо нь дараахь зүйлийг агуулдаг.
- Бүтээгдэхүүний шинэ хувилбар үүсгэх үед Бүтээгдэхүүний баг Тооцооны багийг ажлаа дуусгахыг хүлээдэггүй.
- Удирдлагыг солих үед хуудсыг дахин ачаалахгүй.
- Шаардлагатай үед Shell нь алсын зайнаас удаан ачаалах, (дээд түвшний) чиглүүлэлт санал болгодог.
- Алсын удирдлагад чиглүүлэлт хийх нь үйлдвэрлэгчдийн холбоогоор дамжин хийгддэг бөгөөд энэ нь байнга ашиглагддаг npm багцуудыг дахин ашиглах боломжийг олгодог.
- Shell нь залхуу ачаалагдсан удирдлагад дахин ашигладаг хүрээ болон бусад нийтлэг хамаарлыг санал болгодог.
Олон бүрхүүлийн холбоо
Дээр дурдсан бүрхүүлд тулгуурласан холбоотой төстэй боловч өөр өөр бүрхүүл ашигласан.
Үүнд:
- хэд хэдэн бүрхүүл
- Цагаан шошго
- Бүх алсын удирдлага нь Shell B-д шаардлагагүй эсвэл бие даасан хэрэгжүүлэлттэй байдаггүй.
Модулийн холбооны үндсэн шинж чанарууд
Маш сайн вэб гүйцэтгэл
Ердийн NPM модулийн бүтэцтэй холбоотой асуудал бол хамааралтай хүмүүсийн тоо нэмэгдэхийн хэрээр програмын хэмжээ ерөнхийдөө өсдөг явдал юм.
Таны програм ачаалах үед багцуудыг ачаалахаас зайлсхийхийн тулд зөвхөн шаардлагатай үед ачаалахын тулд Модулийн Холбоо нь багцуудыг залхуугаар ачаалах боломжийг танд санал болгож байна.
Энэ нь модулиудыг шаардлагатай болохоос нь өмнө татаж авахаас сэргийлж, сайтын хурдыг сайжруулдаг.
Үр дүнтэй хөгжил
Төсөл бүрийг тусад нь үйлдвэрлэж, хүргэж болох ба янз бүрийн багууд гүйцэтгэж болно, учир нь Модулийн холбоо нь таны өргөдлийг тусдаа төслүүд болгон зохион байгуулахыг зөвлөж байна, ингэснээр та тэдгээрийг тусад нь (мөн зэрэгцүүлэн) бүтээж, байрлуулж болно.
Өөрийгөө эдгээх чадвар, илүүдэл
Хуваалцсан хамаарал нь Module Federation-д таны програмын бүх хамаарлыг нэг дороос хянах боломжийг олгодог.
Ингэснээр програм нь хараат байдал зарлаагүй эсвэл сүлжээний асуудал гарсан ч юу хэрэгтэйг мэддэг хэвээр байгаа бөгөөд шаардлагатай бол татаж авах боломжтой.
Нийтлэг хамаарлыг үр дүнтэй зохицуулах
Нэмж дурдахад Module Federation нь хараат байдлын дээд түвшний менежментийг санал болгож, борлуулагч болон гуравдагч этгээдийн шаардлагыг үр дүнтэй шийдвэрлэдэг бөгөөд ингэснээр таны програм хэзээ ч номын сангийн нэгээс илүү хувилбарыг ачаалахгүй.
Хэрэглэгчдийг дахин байрлуулахын оронд бие даасан кодыг байрлуул.
Хөгжүүлэгч нь мөнх ногоон функцтэй байхыг маш их сонирхож байна. Хамааралтай функц өөрчлөгдсөний дараа хэрэглэгчдийг дахин суулгах шаардлагагүй болно.
Энэ нь өөрөө маш хүчтэй шинж чанартай бөгөөд гэнэтийн үр дагавраас урьдчилан сэргийлэхийн тулд сайтар шалгаж үзэх шаардлагатай гэдгийг би хүлээн зөвшөөрөх ёстой.
Ажиллаж байх үед бусад бүтээцээс код импортлох.
NPM багцын загварыг ашиглахдаа бид код хуваалцаж, "номын сан" гэж бодохын оронд API-тай төстэй Module Federation ашигладаг програмуудыг авч үзэж болно.
Бусад аппликешнүүдийн функцийг хүлээн авч чаддагтай адил вэб програмууд нь бусад аппликешнүүдэд функцээр хангах боломжтой болсон.
Үйлчлүүлэгчийн туршлагыг хадгалахын зэрэгцээ хөгжүүлэгчийн сайжруулсан туршлага
аливаа JavaScript хөгжүүлэгч Энэ нь Webpack-ийн 5-р хувилбараас үзэх боломжтой Webpack залгаас учраас Module Federation-д маш тухтай байх болно.
Хэрэв бид үүнийг сайтар бодож үзвэл энэ нь үнэхээр хүчтэй бөгөөд сонирхолтой юм.
Гуравдагч талын Webpack дуудагчийг ашигласнаар бүх бүрэлдэхүүн хэсгүүдийг анхаарч үзээрэй Вэб хуудас скрипт, хөрөнгө, загвар, зураг, тэмдэглэгээ гэх мэт багцууд.
Module Federation-ийг ашигласнаар эдгээрийг бүгдийг нь хуваалцаж, нэгтгэж болно.
Микро фронтууд нь цул хэлбэрээр ажилладаг.
Аппликешндээ хуваалцсан функцийг нэмэх нь маш хялбар; зүгээр л багцыг ердийн байдлаар импортлох эсвэл синхрон ачааллыг ашиглах.
Эсвэл асинхрон ачааллыг зөвхөн шаардлагатай үед залхуу ачааллыг ашиглан зөвхөн хамаарлыг ачаалахад ашиглаж болно.
Дүгнэлт
Энэ нийтлэлд бид Модулийн Холбоо нь таны микро фронтэнд програмыг хөгжүүлэх гайхалтай сонголт болох талаар ярилцсан.
Ашиглалтын үед программуудыг солилцох, ашиглах боломжийг олгох нь янз бүрийн багуудад бие даасан програмууд дээр ажиллах боломжийг олгож, өргөтгөх чадварыг дэмждэг.
Түгээмэл функц өөрчлөгдөхөд та мөнх ногоон функцийг дэмждэг тул хэрэглэгчдээ дизайн хийж, байршуулах шаардлагагүй болно.
Таны програмыг суулгасны дараа цул шиг ажиллах болно, энэ нь гайхалтай юм.
Хуваалцах боломжтой хамаарлыг програмын хэмжээг багасгахад ашигладаг. Олон хөгжүүлэгчид Webpack орчныг аль хэдийн мэддэг болсон тул хөгжүүлэгчийн туршлага маш сайн байдаг.
хариу үлдээх