02 β O'rnatish va birinchi qadamlar¶
β¬ οΈ Oldingi: 01 β Tailwind nima va nega? Β· π README Β· Keyingi: 03 β Utility-first ish jarayoni β‘οΈ
Bu bobda: Tailwind v4 ni kompyuteringizga o'rnatib, birinchi stillangan elementni brauzerda ishlatamiz. Avval Node.js bor-yo'qligini tekshiramiz. Keyin Tailwind'ni ishlatishning to'rt yo'lini (Vite plugin, PostCSS, Standalone CLI, Play CDN) va qaysi birini qachon tanlashni ko'rib chiqamiz. So'ng eng oddiy yo'l β CLI β orqali noldan to'liq loyiha quramiz: papka,
npm init,@import "tailwindcss",--watchva birinchitext-3xl font-boldsarlavha. Oxirida@import "tailwindcss"ichida nima borligini (cascade qatlamlari), avtomatik content-detection'ni va VS Code IntelliSense'ni o'rganamiz.
Nega oldin "yo'l tanlash"?¶
01-bobda Tailwind nima ekanini bildik. Endi savol β uni qanday ishga tushirish? Bu yerda ko'p yangi o'rganuvchi adashadi: internetda turli darslar turli buyruqlar beradi, ba'zilari eskirgan, ba'zilari boshqa loyiha turi uchun. Natijada odam "nega menda ishlamadi?" deb hafsalasi pir bo'ladi.
Sirning kaliti shu: Tailwind'ni o'rnatishning bitta yo'li yo'q β to'rt xil yo'l bor, va ularning har biri boshqa vaziyatga mo'ljallangan. Hammasi oxir-oqibat bitta natijani beradi (sizning klasslaringizdan CSS chiqaradi), farqi faqat shunda: o'sha CSS qayerda va qachon hosil bo'ladi. Avval shu to'rt yo'lni xaritada ko'raylik, keyin eng soddasini amalda quramiz.
π‘ Bir narsani esda tuting. Tailwind v4 β bu eski v3 emas. Buyruqlar, import qatori, sozlash β hammasi o'zgargan. Agar biror darsda
@tailwind base;yokinpx tailwindcss initko'rsangiz β bu v3 darsi, e'tibor bermang. Bu kitob butunlay v4 asosida (eng so'nggi turg'un versiyav4.3).
Talab: Node.js va npm¶
To'rt yo'lning uchtasi (Vite, PostCSS, CLI) Node.jsga tayanadi. Node.js β JavaScript'ni terminalingizda ishga tushiradigan dastur; npm esa u bilan birga keladigan paket menejeri (boshqa odamlar yozgan kutubxonalarni yuklab oladi). Tailwind ham aynan shunday npm-paketi.
Avval bor-yo'qligini tekshiramiz. Terminalni oching (VS Code'da Terminal β New Terminal) va yozing:
Agar quyidagiga o'xshash chiqsa β hammasi tayyor:
Agar command not found (yoki Windows'da 'node' is not recognized) chiqsa β Node.js o'rnatilmagan. nodejs.org saytidan LTS (Long-Term Support) versiyasini yuklab o'rnating, terminalni qayta oching va yana tekshiring. Tailwind v4 uchun Node 20 yoki undan yangi versiya kerak.
Eslatma. Versiya raqamlari sizda boshqacha bo'lishi mumkin β muhimi
node -vumuman ishlashi va raqam chiqarishi. Aniq raqamga emas, chiqqaniga qarang.
Matn muharriri sifatida VS Code ni tavsiya qilamiz β bepul, yengil va Tailwind uchun ajoyib qo'shimchasi bor (bu haqda bob oxirida). code.visualstudio.com dan oling.
To'rt yo'l: qaysi birini qachon¶
1. Vite plugin β @tailwindcss/vite¶
Bu β real ilovalar uchun tavsiya etilgan yo'l. Agar siz React, Vue, Svelte yoki oddiy Vite loyihasida ishlasangiz β shuni tanlang. Vite β bu zamonaviy, juda tez "build tool" (loyihangizni yig'ib brauzerga uzatadigan dastur), va Tailwind'ning Vite plugini eng tez build'ni va eng yaxshi tajribani beradi.
To'liq o'rnatish quyidagicha:
npm create vite@latest mening-ilovam
cd mening-ilovam
npm install
npm install tailwindcss @tailwindcss/vite
Keyin vite.config.js (yoki .ts) faylga Tailwind plugini qo'shasiz:
import { defineConfig } from 'vite'
import tailwindcss from '@tailwindcss/vite'
export default defineConfig({
plugins: [
tailwindcss(),
],
})
So'ng src/style.css faylini yaratib, ichiga bitta qator yozasiz:
Va bu faylni ilovangizning kirish nuqtasida (masalan main.js yoki main.jsx) import qilasiz:
npm run dev deysiz β tamom. Endi istalgan komponentda Tailwind klasslarini yozaversangiz bo'ladi.
π‘ Nega Vite tavsiya etiladi? Chunki u zamonaviy frontend-loyihalarning standartiga aylangan, va Tailwind'ning Vite plugini build'ni eng samarali bog'laydi β siz fayl saqlaganingizda o'zgarish brauzerda deyarli darrov ko'rinadi (HMR β Hot Module Replacement).
2. PostCSS β @tailwindcss/postcss¶
Agar loyihangiz allaqachon PostCSS quvuriga tayansa β masalan Next.js, yoki webpack asosidagi eski loyiha β bu yo'lni tanlaysiz. PostCSS β bu CSS'ni qayta ishlovchi vosita; ko'p framework'lar uni ichkarida ishlatadi.
Loyiha ildizida postcss.config.mjs faylini yaratib, Tailwind'ni plugin sifatida ulaysiz:
Va asosiy CSS faylingizga o'sha tanish qator:
Eslatma. Vite va PostCSS o'rtasidagi tanlovni odatda loyihangiz emas, balki siz tanlamaysiz β uni framework'ingiz hal qiladi. Yangi Next.js loyihasida PostCSS yo'li tabiiy, sof Vite loyihasida esa Vite plugini. Ikkalasi ham production uchun mos.
3. Standalone CLI β @tailwindcss/cli¶
Bu β hech qanday build-asbobsiz ishlaydigan yo'l. Sizga faqat oddiy HTML va CSS kerak bo'lsa, yoki Tailwind'ni endigina o'rganayotgan bo'lsangiz β eng yaxshi tanlov shu. Hech qanday Vite, hech qanday framework β faqat Tailwind o'zi CSS'ingizni yig'ib beradi.
Aynan shu yo'ldan biz keyingi bo'limda noldan to'liq loyiha quramiz, chunki u eng kam "sehr" bilan ishlaydi va nima sodir bo'layotganini ko'z bilan ko'rasiz.
4. Play CDN β brauzer skripti¶
Bu β eng tezkor, lekin eng cheklangan yo'l. Hech narsa o'rnatmaysiz: HTML faylingizga bitta <script> qo'shasiz va Tailwind to'g'ridan-to'g'ri brauzerda ishlaydi.
Bu CodePen'da bir narsani tez sinab ko'rish, yoki do'stga "mana shunaqa qilsang bo'ladi" deb ko'rsatish uchun zo'r. Ammo:
β οΈ Play CDN'ni hech qachon production'da ishlatmang. Brauzer har sahifa ochilganda CSS'ni qaytadan kompilyatsiya qiladi β bu sekin, og'ir va foydalanuvchi internetiga yuk. U faqat prototip va o'rganish demosΠΈ uchun. Haqiqiy sayt uchun har doim build qiladigan yo'llardan birini (Vite/PostCSS/CLI) tanlang.
To'liq amaliyot: CLI bilan noldan loyiha¶
Endi eng muhim qism β o'z qo'lingiz bilan birinchi Tailwind loyihasini quramiz. CLI yo'lini tanlaymiz, chunki u eng tushunarli: kirishda nima bor, chiqishda nima bor β hammasi ko'rinib turadi.
Quyidagi oqimni bosqichma-bosqich bajaramiz: papka yaratamiz β loyihani boshlaymiz β Tailwind o'rnatamiz β kirish CSS yozamiz β HTML yaratamiz β CLI'ni --watch bilan ishga tushiramiz β brauzerda ochamiz.
1-qadam β Papka va npm init¶
Yangi papka yaratib, ichiga kiramiz va loyihani boshlaymiz:
npm init -y buyrug'i package.json faylini yaratadi β bu loyihangizning "pasporti": qaysi paketlarga bog'liqligini shu yerda yozib boradi. -y flag'i hamma savolga "ha" deb javob beradi, shunda darrov tayyor bo'ladi.
2-qadam β Tailwind'ni o'rnatish¶
Bu ikkita paketni yuklaydi: tailwindcss β dvigatelning o'zi, @tailwindcss/cli β terminaldan ishga tushiradigan buyruq qatori vositasi. Endi package.json ichida dependencies ko'rinadi.
π‘
npx tailwindcss initkerakmi? Yo'q! Bu v3 buyrug'i edi va utailwind.config.jsyaratardi. v4'da config fayl shart emas β sozlash to'g'ridan-to'g'ri CSS ichida (@theme) bo'ladi (18-bobda). Agar biror joyda bu buyruqni ko'rsangiz, bilingki β eski dars.
3-qadam β Kirish CSS (src/input.css)¶
src papkasini yaratib, ichida input.css faylini oching va ichiga faqat bitta qator yozing:
Mana shu bitta qator butun Tailwind'ni olib keladi β barcha utility'lar, reset, theme. Ichida nima borligini bob oxirida ochib beramiz. Hozircha bilingki: bu β boshlanish nuqtangiz.
4-qadam β HTML fayl (index.html)¶
Loyiha ildizida index.html yaratamiz. E'tibor bering: u <head> ichida output.css ni ulaydi (kirishni emas β chiqishni!), chunki brauzer faqat tayyor CSS'ni tushunadi:
<!DOCTYPE html>
<html lang="uz">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Birinchi Tailwind</title>
<link rel="stylesheet" href="./output.css">
</head>
<body>
<h1 class="text-3xl font-bold text-indigo-600 underline">Salom!</h1>
</body>
</html>
5-qadam β CLI'ni --watch bilan ishga tushirish¶
Endi Tailwind'ga "kiruvchi CSS'ni o'qi, HTML'dagi klasslarni topib, chiquvchi CSS yarat va o'zgarishni kuzatib tur" deb buyramiz:
Buyruqni qismlarga ajratamiz:
-i ./src/input.cssβ input: kirish CSS qayerda.-o ./output.cssβ output: tayyor CSS qayerga yozilsin.--watchβ kuzatish: terminalni yopmaguningizcha ishlab turadi; siz biror faylni saqlasangiz, Tailwind avtomatik qayta-build qiladi.
Terminal ochiq qoldiradi va "Done" deb yozadi β endi output.css fayli paydo bo'ldi.
6-qadam β Brauzerda ochish¶
index.html faylini brauzerda oching (yoki VS Code'da Live Server qo'shimchasidan foydalaning). Sahifada katta, qalin, indigo rangli, ostiga chizilgan Salom! yozuvini ko'rasiz. Tabriklaymiz β bu sizning birinchi Tailwind elementingiz!
Eslatma.
output.cssfaylini hech qachon qo'lda tahrirlamang β uni Tailwind har build'da qaytadan yozadi, o'zgarishingiz yo'qoladi. Siz faqatinput.css(sozlash uchun) va HTML/JS (klasslar uchun) bilan ishlaysiz.
Har bir klassni tushunamiz¶
Endi <h1> dagi to'rtta klassni alohida ko'rib chiqamiz β chunki bu Tailwind'ning butun falsafasi:
| Klass | Nima qiladi | CSS ekvivalenti |
|---|---|---|
text-3xl |
matn o'lchamini kattalashtiradi | font-size: 1.875rem; line-height: 2.25rem; |
font-bold |
matnni qalin qiladi | font-weight: 700; |
text-indigo-600 |
matn rangini indigo qiladi | color: oklch(...) (indigo-600) |
underline |
ostiga chiziq qo'shadi | text-decoration-line: underline; |
Ko'rib turibsiz: har bir klass β bitta kichik, aniq CSS qoidasi. Siz nom o'ylab topmaysiz, alohida CSS faylga sakramaysiz β to'g'ridan-to'g'ri HTML'da "katta, qalin, indigo, chiziqli" deb yig'ib qo'yasiz. Aynan shu β utility-first; uni 03-bobda chuqurroq ochamiz.
π‘ Sinab ko'ring.
--watchishlab turgandatext-3xlnitext-5xlga o'zgartirib, faylni saqlang va brauzerni yangilang. Yozuv kattalashadi.text-indigo-600nitext-red-500ga almashtiring β qizil bo'ladi. Mana shu β Tailwind bilan ishlash ritmi: yoz β saqla β ko'r.
@import "tailwindcss" β ichida nima bor?¶
O'sha bitta qator aslida juda ko'p narsani olib keladi. Tailwind'ni CSS cascade layers (qatlamlar) yordamida to'rtta bo'limga ajratadi va ularni to'g'ri tartibda joylaydi:
- theme β dizayn tokenlari: barcha standart ranglar, spacing scale, shriftlar. Sizning
@themeblokingiz (18-bob) aynan shu yerga qo'shiladi. - base (preflight) β brauzer reset'i: brauzerlarning standart
margin,paddingva boshqa farqlarini tozalab, hammaga bir xil, bashorat qilinadigan boshlang'ich nuqta beradi. - components β sizning komponent klasslaringiz uchun ajratilgan joy (
@apply, plaginlar β 20, 21-boblar). - utilities β asosiy ish:
p-4,flex,text-3xlkabi minglab utility. Eng baland prioritetga ega, shuning uchun utility doim o'z ishini bajaradi.
Qatlamlarning tartibi muhim: pastdagi utilities yuqoridagi base ustidan g'olib chiqadi. Shuning uchun text-indigo-600 deb yozsangiz, preflight'ning standart rangini bemalol bosib o'tadi β specificity bilan urishmasdan, faqat qatlam tartibi hisobiga.
Eslatma (v3 β v4). Eski v3'da bu uchta alohida qator edi:
@tailwind base; @tailwind components; @tailwind utilities;. v4'da ularning hammasi bitta@import "tailwindcss";ga birlashtirildi. Agar eski darsda uch qatorli@tailwindko'rsangiz β bu v3, v4'da ishlamaydi.
Avtomatik content-detection¶
v3'da tailwind.config.js ichida content: ['./src/**/*.html', ...] deb qaysi fayllarni skanerlashni qo'lda ko'rsatish kerak edi. v4'da bu shart emas β Tailwind loyihangizni avtomatik skanerlaydi: u qaysi klasslar ishlatilganini fayllaringizdan o'zi topadi va .gitignore da yashiringan papkalarni (masalan node_modules, .git) o'tkazib yuboradi.
Demak siz hech narsa sozlamasdan ishlay olasiz. Ammo ba'zan Tailwind avtomatik topa olmaydigan joyda klass bo'ladi β masalan o'rnatilgan kutubxona (node_modules ichidagi) komponentida. Shunda @source direktivasi bilan qo'shimcha manba ko'rsatasiz:
Buni hozir yodlash shart emas β faqat bilingki, "klassim ishlatilgan, lekin CSS chiqmayapti" muammosi bo'lsa, ko'pincha sabab content-detection o'sha faylni ko'rmayotgani bo'ladi. Batafsil 24-bobda.
Muharrir sozlamasi: Tailwind CSS IntelliSense¶
Tailwind'da yuzlab klass nomi bor β ularni yoddan bilish shart emas, va kerak ham emas. Tailwind CSS IntelliSense β VS Code uchun rasmiy qo'shimcha, va uni o'rnatishni qattiq tavsiya qilamiz. U beradi:
- Avtomatik to'ldirish β
text-deb yozsangiz, mavjud variantlar ro'yxati chiqadi. - Hover ko'rinishi β klass ustiga sichqonchani olib borsangiz, u qaysi CSS'ni ishlab chiqarishini ko'rsatadi (
bg-indigo-600ustida turing β aniq OKLCH rangni ko'rasiz). - Linting β noto'g'ri yoki ziddiyatli klasslarni belgilaydi.
VS Code'da Extensions paneliga (Ctrl+Shift+X) o'tib, "Tailwind CSS IntelliSense" deb qidiring va o'rnating.
π‘ Prettier plugini.
prettier-plugin-tailwindcssklasslaringizni avtomatik standart tartibda (layout β spacing β rang...) saralaydi, shunda jamoadagi hamma bir xil tartibda yozadi. Buni to'liq 24-bobda sozlaymiz β hozircha shunday vosita borligini bilib qo'ying.
Ishlab chiqish tsikli (dev loop)¶
Yuqorida loyiha qurganimizda allaqachon ko'rdik, lekin ataylab nomlab qo'yamiz, chunki bu β Tailwind bilan ishlashning kunlik ritmi:
- HTML/komponentda klass yozasiz (
class="..."). - Faylni saqlaysiz.
- Watcher (CLI
--watch, Vite dev-server yoki PostCSS) avtomatik qayta-build qiladi. - Brauzer o'zgarishni ko'rsatadi (Vite'da hatto sahifani yangilamasdan).
Bu tsikl tezligi Tailwind'ning kuchidir: o'ylash β yozish β ko'rish orasidagi vaqt deyarli nolga teng. Aynan shu "tezkor iteratsiya" 03-bobning yuragi bo'ladi.
Production uchun build. Saytni internetga chiqaradigan vaqtda CSS'ni kichraytirilgan (minified) holatda yig'asiz:
--minify flag'i bo'sh joy va izohlarni olib tashlab, faylni iloji boricha kichik qiladi. Build, deploy va optimizatsiyaning to'liq qismi β 24-bobda.
Xulosa¶
Bu bobda Tailwind v4 ni noldan ishga tushirdik. Eslab qolish kerak bo'lgan mag'z:
- Talab: Node.js + npm (
node -vbilan tekshiring), VS Code tavsiya. - To'rt yo'l: Vite plugin (real ilovalar, tavsiya) Β· PostCSS (Next.js/webpack) Β· Standalone CLI (o'rganish, oddiy HTML) Β· Play CDN (faqat prototip, production'da hech qachon).
- CLI oqimi:
input.css(@import "tailwindcss";) + HTML klasslar β CLI/Oxide βoutput.cssβ brauzer;--watchbilan avtomatik qayta-build. @import "tailwindcss";to'rt qatlamni olib keladi: theme β base/preflight β components β utilities.- v4 farqi:
@tailwinddirektivasi vatailwind.config.js/initβ eski v3; v4'da bitta@importva CSS-first sozlash. - Content-detection avtomatik (
@sourcefaqat zarurda); IntelliSense o'rnating.
Endi loyiha tayyor va birinchi element ishlamoqda. Keyingi bobda shu loyihada utility-first bilan o'ylashni β klasslar yordamida tezda interfeys qurish, arbitrary qiymatlar va takrorlanishni boshqarishni β o'rganamiz.
Mashqlar¶
Quyidagi mashqlar β amaliy. Iloji bo'lsa, terminal va brauzerni ochib, har birini o'z qo'lingiz bilan bajaring. Avval o'zingiz urinib ko'ring, keyin yechimni oching.
Oson¶
-
Muhitni tekshiring. Terminalda Node.js va npm o'rnatilganini qanday tekshirasiz? Ikkita buyruq yozing va ularning natijasi nimani anglatishini tushuntiring.
-
Yo'lni tanlang. Quyidagi har bir vaziyat uchun to'rt yo'ldan qaysi birini tanlaysiz va nega: (a) React + Vite bilan haqiqiy ilova; (b) CodePen'da do'stga tez demo; (c) hech qanday build-asbobsiz oddiy HTML sayt; (d) tayyor Next.js loyihasi.
-
Eski yo'lni toping. Quyidagi ikki qatordan qaysi biri v4, qaysi biri eski v3?
@import "tailwindcss";va@tailwind base; @tailwind components; @tailwind utilities;. Farqini bir jumlada ayting. -
Klassni o'qing.
<p class="text-xl font-bold text-sky-500">β bu paragraf brauzerda qanday ko'rinadi? Har bir klassni tushuntiring.
O'rta¶
-
CLI buyrug'ini yozing.
src/input.cssdan o'qib,dist/styles.cssga yozadigan va o'zgarishni kuzatadigan to'liq@tailwindcss/clibuyrug'ini yozing. Har bir flag (-i,-o,--watch) nima qilishini ayting. -
HTML xatosini toping. Bir o'rganuvchi
index.htmlda<link rel="stylesheet" href="./src/input.css">deb yozgan, lekin stillar ishlamayapti. Xato nimada? To'g'rilang va nega ekanini tushuntiring. -
Build oqimini chizing. O'z so'zlaringiz bilan, kirishdan brauzergacha bo'lgan oqimni ketma-ketlikda yozing: nima kiradi, dvigatel nima qiladi, nima chiqadi, brauzer nimani ulaydi.
-
Qatlamlarni tartiblang.
@import "tailwindcss";keltiradigan to'rt qatlamni prioritet bo'yicha (pastdan balandga) tartiblang va negatext-indigo-600preflight'ning standart rangini bosib o'tishini tushuntiring.
Qiyin¶
-
Noldan loyiha quring. Bobdagi 6 qadamni to'liq bajaring:
birinchi-tailwindpapkasini yarating, Tailwind'ni CLI orqali o'rnating,--watchni ishga tushiring va brauzerda indigo, qalin, chiziqli "Salom!" ni ko'ring. Keyintext-3xlnitext-5xlga, rangnitext-red-500ga o'zgartirib, brauzerda farqni kuzating. -
"Klassim ishlamayapti" muammosini hal qiling. Tasavvur qiling: HTML'da
class="bg-green-500"yozdingiz, lekin fon yashil bo'lmadi (CLI--watchishlab turibdi). Sabablar nima bo'lishi mumkin? Kamida 3 ta ehtimolni va har birini qanday tekshirishni yozing. -
Production build'ni tayyorlang. Yuqoridagi loyiha uchun internetga chiqarishdan oldin ishlatadigan buyruqni yozing.
--watchli dev-build'dan farqi nimada?--minifynima beradi va nega production'da kerak (lekin o'rganishda kerak emas)? -
To'rt yo'lni taqqoslang. "Hammasi oxir-oqibat bitta CSS beradi" deganimizning ma'nosi nima? To'rt yo'lning asosiy farqi β build qayerda va qachon bo'ladi β degan g'oyani Vite, CLI va Play CDN misolida tushuntiring. Nega Play CDN production'ga yaramaydi?
Yechimlar¶
Yechim β 1
node -v β Node.js o'rnatilganini va versiyasini ko'rsatadi (masalan v22.14.0). npm -v β Node bilan kelgan paket menejeri versiyasini ko'rsatadi (masalan 10.9.2). Agar ikkalasi ham raqam chiqarsa β muhit tayyor. Agar command not found / 'node' is not recognized chiqsa β Node.js o'rnatilmagan, nodejs.org dan LTS versiyani o'rnatish kerak. Aniq raqamga emas, raqam chiqqaniga qarang (Tailwind v4 uchun Node 20+).
Yechim β 2
- (a) React + Vite β Vite plugin (
@tailwindcss/vite). Vite loyihasi uchun eng tabiiy va tez yo'l, eng yaxshi DX. - (b) CodePen demo β Play CDN. Hech narsa o'rnatmasdan bitta
<script>bilan ishlaydi β tez demo uchun ideal (lekin production emas). - (c) Build-asbobsiz oddiy HTML β Standalone CLI (
@tailwindcss/cli). Vite/framework kerak emas, CLI o'zi CSS yig'adi. - (d) Tayyor Next.js β PostCSS (
@tailwindcss/postcss). Next.js PostCSS quvuriga tayanadi, shuning uchun PostCSS plugini tabiiy mos keladi.
Yechim β 3
@import "tailwindcss";β bu v4.@tailwind base; @tailwind components; @tailwind utilities;β bu eski v3.
Farqi: v4 hamma narsani bitta @import qatoriga birlashtirdi; uchta alohida @tailwind direktivasi v4'da ishlamaydi. Agar darsda uch qatorli @tailwind ko'rsangiz β u eskirgan.
Yechim β 4
<p> katta (text-xl), qalin (font-bold) va osmon-ko'k (text-sky-500) matn bo'lib ko'rinadi.
text-xlβfont-size: 1.25rem(oddiy matndan kattaroq).font-boldβfont-weight: 700(qalin).text-sky-500β matn rangi sky (och-ko'k) palette'ining 500-darajasi (OKLCH).
Yechim β 5
-i ./src/input.cssβ input (kirish): qaysi CSS'dan boshlasin (@import "tailwindcss";bor fayl).-o ./dist/styles.cssβ output (chiqish): tayyor CSS qayerga yozilsin.--watchβ fayllarni kuzatib turadi; har saqlaganingizda avtomatik qayta-build qiladi, qo'lda qayta ishga tushirish shart emas.
Yechim β 6
Xato: HTML kirish CSS'ni (input.css) ulagan, lekin brauzer kirishni tushunmaydi β uning ichida @import "tailwindcss"; bor, oddiy CSS emas. Ulanishi kerak bo'lgani β chiqish fayli:
Nega: Tailwind kirishni (input.css) o'qib, undan tayyor CSS (output.css) hosil qiladi. Brauzer faqat o'sha tayyor, kompilyatsiya qilingan CSS'ni tushunadi. Demak HTML doim output'ni ulashi kerak. (Qo'shimcha: CLI --watch bilan ishlab turibdimi va output.css haqiqatan yaratilganmi β ham tekshiring.)
Yechim β 7
- Kiradi:
input.css(ichida@import "tailwindcss";va ixtiyoriy@theme) + loyihadagi HTML/JS fayllar (class="..."lar avtomatik aniqlanadi). - Dvigatel (CLI/Oxide): kirish CSS'ni o'qiydi, fayllardagi ishlatilgan klasslarni topadi, faqat kerakli CSS'ni generatsiya qiladi.
- Chiqadi:
output.cssβ tayyor, brauzer tushunadigan CSS. - Brauzer: HTML
<head>ichidaoutput.cssni<link>orqali ulaydi va sahifani stillaydi. --watchbo'lsa: biror fayl saqlanganda 2β4 avtomatik takrorlanadi.
Yechim β 8
Pastdan (past prioritet) balandga (baland prioritet):
- theme (dizayn tokenlari)
- base / preflight (brauzer reset)
- components
- utilities (eng baland)
text-indigo-600 β utilities qatlamida; preflight esa base qatlamida. Cascade layers tartibida keyingi (pastroqdagi) qatlam oldingisidan g'olib chiqadi, shuning uchun utility doim base'dagi standart rangni bosib o'tadi β specificity bilan kurashmasdan, faqat qatlam tartibi hisobiga.
Yechim β 9
Amaliy mashq β bobdagi 6 qadamni bajarasiz:
src/input.css β @import "tailwindcss";; index.html β output.css ni ulab, <h1 class="text-3xl font-bold text-indigo-600 underline">Salom!</h1>; keyin:
Brauzerda ochasiz β indigo, qalin, chiziqli "Salom!". text-3xl β text-5xl qilsangiz yozuv kattalashadi; text-indigo-600 β text-red-500 qilsangiz qizil bo'ladi. Har o'zgarishdan keyin faylni saqlash (watcher build qiladi) va brauzerni yangilash kifoya β bu dev tsikl.
Yechim β 10
Ehtimoliy sabablar va tekshirish:
- HTML noto'g'ri CSS'ni ulagan β
output.csso'rnigainput.cssulangan bo'lishi mumkin.<link>ni tekshiring (output.cssbo'lsin). - Watcher fayl o'zgarishini ko'rmagan/boshqa joyga build qilgan β CLI ishlab turibdimi,
-oyo'li HTML ulagan yo'lga mos keladimi? Faylni qayta saqlab, terminalda "Done" chiqishini kuzating. - Content-detection klassni ko'rmagan β klass
node_modulesichidagi yoki.gitignoreda yashiringan faylda bo'lsa, avtomatik aniqlanmaydi;@sourceqo'shish kerak (24-bob). - Brauzer eski CSS'ni keshlagan β qattiq yangilang (
Ctrl+F5).
Tekshirish tartibi: avval <link>, keyin terminal (CLI ishlayaptimi), keyin keshΠ½ΠΈ tozalang.
Yechim β 11
Farqi: dev-build (--watch) doim fonda ishlab turadi va o'zgarishlarni kuzatadi β maqsad tezkor iteratsiya. Production build (--minify) bir martalik ishlaydi va natijani kichraytiradi: bo'sh joy, izoh va keraksiz belgilarni olib tashlaydi.
--minify nega kerak: production'da fayl hajmi muhim β kichikroq CSS tezroq yuklanadi, foydalanuvchi internetiga kam yuk. O'rganishda esa kerak emas, chunki kichraytirilgan CSS'ni o'qish qiyin va dev tezligi muhimroq. To'liq deploy oqimi β 24-bobda.
Yechim β 12
"Hammasi bitta CSS beradi" β siz qaysi yo'lni tanlasangiz ham, Tailwind klasslaringizdan bir xil natija (kerakli CSS qoidalari) hosil qiladi. Brauzer oxir-oqibat bir xil stillarni ko'radi.
Asosiy farq β build qayerda va qachon:
- Vite plugin β build dev-serverda/
npm run buildda, sizning mashinangizda, deploydan oldin bo'ladi. Tez, framework bilan chambarchas. - CLI β build terminalda siz
@tailwindcss/cliishga tushirganingizda bo'ladi; framework kerak emas. - Play CDN β build brauzerda, har foydalanuvchi sahifani ochganda qaytadan bo'ladi.
Play CDN production'ga yaramaydi, chunki har tashrifda brauzer CSS'ni qaytadan kompilyatsiya qiladi β bu sekin, og'ir va keraksiz yuk. Production'da build oldindan, bir marta bo'lishi kerak (Vite/PostCSS/CLI) va foydalanuvchiga tayyor, kichraytirilgan CSS yetib borishi kerak.
β¬ οΈ Oldingi: 01 β Tailwind nima va nega? Β· π README Β· Keyingi: 03 β Utility-first ish jarayoni β‘οΈ