Talim

Profillar, bundle va qatlamlar

Mashinangiz ishga tushadigan daraxt to‘rt qatlamda qanday yig‘ilishi — profillar, bundle'lar va ularning qo‘llanish tartibi.

9 daqiqa o‘qish · O‘rta → Ilg‘or

Mashinangiz ishga tushganda yuklanadigan narsa — qattiq o‘rnatilgan dastur emas. Bu qismlar daraxti bo‘lib, u to‘rt qatlamda yig‘iladi. Tartib har doim bir xil, va aynan shu tartibni tushunish ko‘pchilik kutilmaganliklardan qutqaradi.

Ikki asosiy tushuncha

Tushuncha Ta’rif
Profile Nomlangan konfiguratsiya. Qaysi bundle’larni stack qilishini ro‘yxatlaydi, o‘rnatgan tashqi plaginlaringizni saqlaydi va o‘z sozlamalaringizni tutadi
Bundle Qismlar paketi. Bir to‘plam qismlarni ularni o‘rnatuvchi konfiguratsiya bilan birga tarqatish usuli

Profile — bu «men shu tarzda ishga tushaman» degan nomlangan reja. Bundle — bu «mana shu qismlar to‘plami birga keladi» degan paket. Profile bundle’larni birlashtiradi, bundle’lar qismlarni birlashtiradi.

Qo‘llanish tartibi

Qatlamlar har doim bir xil tartibda qo‘llanadi:

Tartib Qatlam Qayerdan keladi
1 Bundle’lar E’lon qilingan tartibda
2 Profile sozlamalari Siz tanlagan profile
3 Mashina sozlamalari Mashinaning umumiy konfiguratsiyasi
4 Ishga tushirishda berilganlar Buyruq satri argumentlari

Har bir keyingi qatlam oldingisining ustiga qo‘llanadi. Tartibni tushunmasdan sozlamani o‘zgartirsangiz, natija siz kutgandek bo‘lmasligi mumkin.

Muhim

Qisman birlashtirish (partial merge) yo‘q. Biror qismni o‘zgartirsangiz, sizning konfiguratsiyangiz ularnikini butunlay almashtiradi — o‘zgartirmoqchi bo‘lmagan maydonlarni ham qayta yozishingizga to‘g‘ri keladi. Bu hujjatlashtirilgan cheklov va eng oson yo‘l qo‘yiladigan konfiguratsiya xatosi hisoblanadi.

Ishga tushirish argumentlari — qatlam emas

Ishga tushirishda berilgan argumentlar konfiguratsiya qatlamiga o‘xshaydi, lekin unday emas. Ular boshqa narsa: ularni kerak bo‘lgan qismlar o‘zlari o‘qiydi, qatlam mexanizmi orqali emas.

Bu farqni eslab qolish muhim — chunki argumentga tayangan qism qatlamlar ustunligi haqidagi taxminlaringizni buzishi mumkin.

Standart bundle’lar

Tizim bilan birga keladigan uchta bundle bor:

Bundle Nima olib keladi
Base Model adapterlari, tool’lar, saqlash (persistence), izolyatsiya, sozlamalar va credentials
Web application Veb-ilova uchun qismlar
Headless execution Interfeyssiz (headless) bajarish uchun qismlar

Eslatma

Base bundle har qanday profile’ning birinchi qatlami bo‘ladi — u doim mavjud. Har bir bundle o‘zini `package.json` faylida `dsh` kaliti ostida e’lon qiladi.

Amalda nima muhim?

To‘rt qatlamni bilish birinchi kuniyoq foydali bo‘ladi:

  1. Biror narsa ishlamayotgan bo‘lsa, avval qaysi qatlam sabab bo‘lishi mumkinligini aniqlang — ko‘pincha bu profile yoki mashina sozlamalaridagi qatlam to‘qnashuvi.
  2. Bundle qo‘shganingizda, uning sozlamalari qaysi qatlamda ekanini bilib qo‘ying.
  3. «Qisman birlashtirish yo‘q» qoidasini unutmang: to‘liq bo‘lmagan o‘zgartirish boshqa sozlamalarni o‘chirib tashlaydi.

Amaliy maslahat

Konfiguratsiya xatosini tez topishning eng ishonchli usuli — o‘zgarishni kichik qilib, har qadamda tekshirib borish. Qatlamlar o‘rnatilgan tartibda qo‘llanadi, shuning uchun xatoning manbai deyarli har doim eng oxirgi o‘zgartirgan qatlamingizda bo‘ladi.

Xulosa

Mashina to‘rt qatlamda yig‘iladi: bundle’lar (e’lon tartibida), profile sozlamalari, mashina sozlamalari va ishga tushirish argumentlari. Argumentlar qatlam emas — ularni qismlar o‘zi o‘qiydi. Qatlamlar orasida qisman birlashtirish yo‘q, shuning uchun o‘zgartirilgan qism butunlay almashtiriladi. Keyingi darsda bu qismlar ish paytida qanday voqealar chiqarishini ko‘ramiz — turn anatomiyasini.