نصب و راهاندازی Tailwind CSS و ساخت اولین پروژه
بهنام نوبخت · ۱۴۰۵/۷/۱۳
در مقاله قبل با Tailwind CSS و مفهوم Utility-First آشنا شدیم و دیدیم که چگونه میتوانیم با ترکیب کلاسهای کوچک، ظاهر عناصر HTML را ایجاد کنیم. در این مقاله وارد بخش عملی میشویم و یاد میگیریم چگونه Tailwind CSS را نصب و راهاندازی کنیم و یک پروژه ساده ایجاد کنیم. هدف این مقاله این است که حتی اگر برای اولین بار با Tailwind کار میکنید، بتوانید مراحل راهاندازی را از ابتدا انجام دهید و در پایان یک صفحه ساده با Tailwind CSS داشته باشید.
قبل از شروع چه چیزهایی نیاز داریم؟
برای شروع کار با Tailwind CSS بهتر است موارد زیر را روی سیستم خود داشته باشید:
آشنایی اولیه با HTML
آشنایی مقدماتی با CSS
نصب Node.js
یک ویرایشگر کد مانند Visual Studio Code
آشنایی بسیار ساده با Terminal یا Command Prompt
اگر قبلاً با پروژههای JavaScript یا Node.js کار کرده باشید، اجرای مراحل این مقاله برای شما سادهتر خواهد بود.
نکته: Tailwind CSS در طول زمان تغییر کرده است. در این دوره از روش راهاندازی متناسب با نسخههای جدید Tailwind CSS استفاده میکنیم.
نصب Node.js
برای استفاده از ابزارهای مورد نیاز Tailwind، ابتدا باید Node.js روی سیستم نصب باشد.
پس از نصب Node.js، Terminal یا Command Prompt را باز کنید و دستور زیر را اجرا کنید:
node -vاگر Node.js به درستی نصب شده باشد، نسخه آن نمایش داده میشود.
برای بررسی npm نیز میتوانید بنویسید:
npm -vاگر هر دو دستور نسخهای را نمایش دادند، محیط اولیه برای ادامه کار آماده است.
ایجاد پروژه جدید
ابتدا یک پوشه برای پروژه ایجاد کنید.
برای مثال:
mkdir tailwind-first-projectسپس وارد پوشه شوید:
cd tailwind-first-projectاکنون باید یک پروژه Node.js ایجاد کنیم:
npm init -yپس از اجرای این دستور، فایلی با نام زیر ایجاد میشود:
package.jsonاین فایل اطلاعات اصلی پروژه و وابستگیهای npm را نگهداری میکند.
ساختار فعلی پروژه تقریباً به شکل زیر خواهد بود:
tailwind-first-project/
└── package.jsonنصب Tailwind CSS
در نسخههای جدید Tailwind CSS، روش نصب با نسخههای قدیمی تفاوتهایی دارد.
برای نصب Tailwind CSS و ابزار مورد نیاز آن، دستور زیر را اجرا کنید:
npm install tailwindcss @tailwindcss/cliپس از نصب موفق، پوشهای مانند زیر در پروژه ایجاد میشود:
node_modules/همچنین اطلاعات پکیجهای نصبشده در package.json و package-lock.json قرار میگیرد.
ساختار پروژه اکنون تقریباً به این شکل است:
tailwind-first-project/
├── node_modules/
├── package.json
└── package-lock.jsonایجاد فایل HTML
حالا یک فایل با نام زیر ایجاد کنید:
index.htmlمحتوای اولیه آن را به شکل زیر قرار دهید:
<!DOCTYPE html>
<html lang="fa" dir="rtl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>اولین پروژه Tailwind CSS</title>
</head>
<body>
<h1>
سلام Tailwind CSS
</h1>
</body>
</html>در این مرحله هنوز Tailwind CSS را به صفحه متصل نکردهایم.
ایجاد فایل CSS
در ریشه پروژه یک پوشه با نام src ایجاد کنید:
src/سپس داخل آن یک فایل به نام زیر ایجاد کنید:
input.cssساختار پروژه:
tailwind-first-project/
├── node_modules/
├── src/
│ └── input.css
├── index.html
├── package.json
└── package-lock.jsonداخل فایل input.css دستور زیر را قرار دهید:
@import "tailwindcss";این دستور Tailwind CSS را وارد پروژه میکند.
ساخت فایل CSS خروجی
اکنون باید به Tailwind بگوییم فایل CSS ورودی را پردازش کرده و یک فایل CSS خروجی ایجاد کند.
برای این کار میتوانیم از Tailwind CLI استفاده کنیم.
دستور زیر را در Terminal اجرا کنید:
npx @tailwindcss/cli -i ./src/input.css -o ./src/output.css --watchقسمتهای مختلف این دستور عبارتاند از:
-i ./src/input.cssفایل CSS ورودی را مشخص میکند.
-o ./src/output.cssمحل فایل CSS خروجی را مشخص میکند.
--watchباعث میشود Tailwind تغییرات پروژه را زیر نظر داشته باشد و هنگام تغییر فایلها، خروجی CSS را بهروزرسانی کند.
پس از اجرای دستور، فایل زیر ایجاد خواهد شد:
src/output.cssساختار پروژه اکنون:
tailwind-first-project/
├── node_modules/
├── src/
│ ├── input.css
│ └── output.css
├── index.html
├── package.json
└── package-lock.jsonاتصال Tailwind CSS به HTML
اکنون باید فایل CSS خروجی را به HTML متصل کنیم.
فایل index.html را باز کنید و در قسمت <head> این خط را اضافه کنید:
<link rel="stylesheet" href="./src/output.css">فایل کامل:
<!DOCTYPE html>
<html lang="fa" dir="rtl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>اولین پروژه Tailwind CSS</title>
<link rel="stylesheet" href="./src/output.css">
</head>
<body>
<h1>
سلام Tailwind CSS
</h1>
</body>
</html>اکنون Tailwind به صفحه متصل شده است.
اولین Utility Class
حالا میتوانیم اولین کلاس Tailwind خود را استفاده کنیم.
کد <h1> را تغییر دهید:
<h1 class="text-4xl font-bold text-blue-600">
سلام Tailwind CSS
</h1>در این مثال:
text-4xlاندازه متن را افزایش میدهد.font-boldمتن را ضخیم میکند.text-blue-600رنگ متن را آبی میکند.
اگر فایل HTML را در مرورگر باز کنید، باید نتیجهای مشابه یک عنوان بزرگ و آبی مشاهده کنید.
ساخت اولین صفحه ساده
حالا کمی بیشتر تمرین کنیم و یک صفحه ساده بسازیم.
فایل index.html را به شکل زیر تغییر دهید:
<!DOCTYPE html>
<html lang="fa" dir="rtl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>اولین پروژه Tailwind CSS</title>
<link rel="stylesheet" href="./src/output.css">
</head>
<body class="bg-gray-100">
<main class="min-h-screen flex items-center justify-center p-6">
<div class="bg-white p-8 rounded-xl shadow-md max-w-md w-full">
<h1 class="text-3xl font-bold text-gray-800 mb-4">
اولین پروژه Tailwind
</h1>
<p class="text-gray-600 mb-6">
این اولین صفحهای است که با Tailwind CSS ایجاد کردهایم.
</p>
<button class="bg-blue-600 text-white px-6 py-3 rounded-lg">
شروع کنید
</button>
</div>
</main>
</body>
</html>در این مثال چند Utility Class جدید را مشاهده میکنید.
کلاسهای مربوط به صفحه
bg-gray-100رنگ پسزمینه صفحه را تعیین میکند.
min-h-screenحداقل ارتفاع عنصر را برابر با ارتفاع صفحه قرار میدهد.
flexعنصر را به یک Flex Container تبدیل میکند.
items-centerمحتوا را در راستای عمودی در مرکز قرار میدهد.
justify-centerمحتوا را در راستای افقی در مرکز قرار میدهد.
p-6برای صفحه Padding ایجاد میکند.
کلاسهای مربوط به کارت
bg-whiteپسزمینه سفید.
p-8فاصله داخلی.
rounded-xlگوشههای گرد.
shadow-mdسایه.
max-w-mdحداکثر عرض کارت.
w-fullعرض عنصر را تا حداکثر فضای در دسترس افزایش میدهد.
کلاسهای مربوط به دکمه
bg-blue-600رنگ پسزمینه دکمه.
text-whiteرنگ متن سفید.
px-6فاصله داخلی افقی.
py-3فاصله داخلی عمودی.
rounded-lgگرد کردن گوشههای دکمه.
ساختار پروژه نهایی
تا اینجا پروژه ما به شکل زیر است:
tailwind-first-project/
│
├── node_modules/
│
├── src/
│ ├── input.css
│ └── output.css
│
├── index.html
├── package.json
└── package-lock.jsonاین ساختار برای اولین پروژه آموزشی ما کافی است.
در پروژههای واقعی ممکن است ساختار پیچیدهتری داشته باشیم و Tailwind را در کنار ابزارها و فریمورکهای مختلف استفاده کنیم.
اضافه کردن Script به package.json
به جای اینکه هر بار دستور طولانی CLI را به صورت دستی اجرا کنیم، بهتر است یک Script در package.json ایجاد کنیم.
فایل package.json را باز کنید.
بخش scripts را به شکل زیر تنظیم کنید:
{
"scripts": {
"dev": "npx @tailwindcss/cli -i ./src/input.css -o ./src/output.css --watch"
}
}تنظیمات فایل package.json پس از افزودن کدهای فوق به شکل زیر خواهد بود:
{
"name": "tailwind-first-project",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "npx @tailwindcss/cli -i ./src/input.css -o ./src/output.css --watch"
},
"keywords": [],
"author": "",
"license": "ISC",
"type": "commonjs",
"dependencies": {
"@tailwindcss/cli": "^4.3.3",
"tailwindcss": "^4.3.3"
}
}حالا به جای اجرای دستور طولانی، میتوانیم فقط بنویسیم:
npm run devTailwind شروع به کار میکند و تغییرات فایلها را زیر نظر میگیرد.
نکته: ترمینالی که دستور
npm run devدر آن اجرا شده است باید باز بماند، زیرا حالت--watchدر حال بررسی تغییرات پروژه است.
چرا از حالت Watch استفاده میکنیم؟
فرض کنید کلاس زیر را به HTML اضافه کنیم:
<h1 class="text-5xl font-bold">
Tailwind CSS
</h1>اگر Tailwind در حالت Watch اجرا شده باشد، تغییرات فایل را شناسایی میکند و CSS خروجی را بهروزرسانی خواهد کرد.
بنابراین نیازی نیست بعد از هر تغییر، فرایند Build را از ابتدا اجرا کنیم.
این موضوع در زمان توسعه پروژه بسیار کاربردی است.
یک تمرین ساده
حالا بدون اینکه کد بالا را کپی کنید، سعی کنید کارت خودتان را ایجاد کنید.
برای مثال یک کارت معرفی شخصی بسازید که شامل موارد زیر باشد:
Profile Card
├── Name
├── Description
└── Buttonمیتوانید از Utilityهایی مانند موارد زیر استفاده کنید:
bg-white
p-6
rounded-xl
shadow-md
text-2xl
font-bold
text-gray-600
mt-4
px-5
py-2هدف تمرین این نیست که همه کلاسها را حفظ کنید.
هدف این است که متوجه شوید چگونه Utility Classها را کنار یکدیگر قرار میدهیم تا یک رابط کاربری ایجاد کنیم.
خطاهای رایج هنگام راهاندازی
هنگام شروع کار ممکن است با چند مشکل ساده مواجه شوید.
دستور npm اجرا نمیشود
ابتدا بررسی کنید Node.js نصب شده باشد:
node -vسپس:
npm -vاگر این دستورات شناخته نشدند، باید Node.js را نصب یا PATH سیستم را بررسی کنید.
تغییرات در صفحه نمایش داده نمیشود
اگر کلاس جدیدی اضافه کردید اما ظاهر صفحه تغییر نکرد، بررسی کنید که Tailwind CLI در حال اجرا باشد:
npm run devهمچنین مطمئن شوید فایل CSS خروجی در HTML به درستی لینک شده است:
<link rel="stylesheet" href="./src/output.css">فایل output.css وجود ندارد
مطمئن شوید دستور Build را اجرا کردهاید:
npm run devیا:
npx @tailwindcss/cli -i ./src/input.css -o ./src/output.css --watchجمعبندی
در این مقاله اولین پروژه Tailwind CSS خود را از صفر ایجاد کردیم. ابتدا یک پروژه Node.js ساختیم، سپس Tailwind CSS و CLI آن را نصب کردیم. بعد فایل CSS ورودی را ایجاد کردیم و با اجرای Tailwind CLI، فایل CSS خروجی را ساختیم.
در ادامه فایل CSS خروجی را به HTML متصل کردیم و اولین Utility Classهای خود را به کار بردیم. در پایان نیز یک کارت ساده ساختیم تا با نحوه ترکیب Utility Classها در یک پروژه واقعیتر آشنا شویم.
مهمترین نکتهای که باید از این مقاله به خاطر داشته باشید این است که در Tailwind قرار نیست نام صدها کلاس را از ابتدا حفظ کنید. کافی است مفهوم هر Utility را یاد بگیرید و به مرور با استفاده از آنها سرعت عمل پیدا کنید.
نظرات
هنوز نظری ثبت نشده است.