راه‌اندازی پروژه React با Vite – شروع سریع، ساختار مدرن، و تمرکز بر یادگیری

۳. خلاصه مقاله Vite ابزاری مدرن برای ساخت پروژه‌های React است که با تنظیمات پیش‌فرض و سرعت بالا، تجربه‌ای ساده و مؤثر برای توسعه‌دهندگان فراهم می‌کند. این مقاله مراحل راه‌اندازی پروژه React با Vite، ساختار فایل‌ها، و نحوهٔ اجرای پروژه را بررسی می‌کند. همچنین به نحوهٔ ارتقاء نسخهٔ React و استفاده از TypeScript اشاره می‌شود.

ReactVitenpm

~2 دقیقه مطالعه · آخرین به‌روزرسانی ۲۹ مهر ۱۴۰۴

مقدمه


Vite ابزاری سریع و مدرن برای راه‌اندازی پروژه‌های React است. با تنظیمات پیش‌فرض و قابلیت توسعه‌پذیری بالا، Vite به توسعه‌دهندگان اجازه می‌دهد بدون درگیر شدن با ابزارهای پیچیده، روی یادگیری React تمرکز کنند.


مزایای Vite


  • سرور توسعه برای اجرای پروژه به‌صورت محلی
  • باندلر برای تولید فایل‌های بهینه‌شده جهت انتشار نهایی
  • پشتیبانی از افزونه‌ها برای SVG، TypeScript، SSR و موارد دیگر

ایجاد پروژه React با Vite


برای شروع، ترمینال را باز کرده و به پوشهٔ موردنظر بروید. سپس دستور زیر را وارد کنید:


npm create vite@latest hacker-stories -- --template react

می‌توانید نام پروژه را تغییر دهید. اگر به TypeScript مسلط هستید، می‌توانید از قالب react-ts استفاده کنید.


نصب و اجرای پروژه


cd hacker-stories
npm install
npm run dev

پس از اجرای npm run dev، آدرس محلی پروژه در مرورگر نمایش داده می‌شود. آن را باز کرده و صحت اجرای پروژه را بررسی کنید.


ارتقاء نسخهٔ React


اگر می‌خواهید از آخرین نسخهٔ React استفاده کنید:


npm install react@latest react-dom@latest

در پروژه‌های TypeScript نیز باید نوع‌های مربوطه را به‌روزرسانی کنید:


npm install --save-dev @types/react@latest @types/react-dom@latest

ساختار پروژه


پس از باز کردن پروژه در VSCode (با دستور code .)، ساختار زیر را مشاهده خواهید کرد:


hacker-stories/
├── node_modules/
├── public/
│   └── vite.svg
├── src/
│   ├── assets/
│   │   └── react.svg
│   ├── App.css
│   ├── App.jsx
│   ├── index.css
│   └── main.jsx
├── .gitignore
├── eslint.config.js
├── index.html
├── package-lock.json
├── package.json
├── README.md
└── vite.config.js

توضیح فایل‌های کلیدی


  • package.json: لیست وابستگی‌ها و تنظیمات پروژه
  • node_modules: پوشهٔ کتابخانه‌های نصب‌شده (نباید تغییر داده شود)
  • .gitignore: فایل‌هایی که نباید در مخزن git قرار گیرند
  • vite.config.js: تنظیمات مربوط به Vite و افزونه‌ها
  • public: فایل‌های استاتیک مانند favicon
  • index.html: نقطهٔ ورود HTML پروژه
  • src/App.jsx: محل پیاده‌سازی کامپوننت‌های اصلی React
  • src/main.jsx: نقطهٔ ورود به دنیای React

جمع‌بندی


Vite راهی سریع و ساده برای شروع پروژه‌های React است. با ساختار منظم، تنظیمات پیش‌فرض، و قابلیت ارتقاء آسان، این ابزار به توسعه‌دهندگان کمک می‌کند تا بدون دغدغهٔ ابزارهای پیچیده، روی یادگیری و توسعهٔ React تمرکز کنند.


نوشته و پژوهش‌شده توسط دکتر شاهین صیامی

مقالات مرتبط

فرم‌ها در React – ارسال داده با onSubmit و action در فرم‌های جستجو

فرم‌ها بخش جدایی‌ناپذیر هر اپلیکیشن مدرن هستند. در این مقاله، نحوهٔ ساخت فرم جستجو در React را بررسی می‌کنیم. ابتدا از onSubmit برای مدیریت ارسال فرم استفاده می‌کنیم و سپس با معرفی ویژگی action، فرم را به رفتار بومی HTML نزدیک‌تر می‌کنیم. این ساختار باعث افزایش خوانایی، قابلیت استفاده با صفحه‌کلید، و آمادگی برای نسخه‌های آیندهٔ React می‌شود.

ادامه

کتابخانه‌های شخص ثالث در React – استفاده از axios و async/await برای دریافت داده‌ها

در این مقاله، نحوهٔ جایگزینی fetch با کتابخانهٔ axios برای دریافت داده‌ها از API در React را بررسی می‌کنیم. سپس با استفاده از async/await و بلوک try/catch، کد دریافت داده‌ها را خواناتر و قابل مدیریت‌تر می‌کنیم. این روش‌ها باعث افزایش سازگاری با مرورگرهای قدیمی، بهبود تست‌پذیری، و کاهش پیچیدگی کد می‌شوند.

ادامه

دریافت صریح داده‌ها در React – کنترل درخواست‌های API با دکمه تأیید

در پیاده‌سازی اولیه، هر بار که کاربر در فیلد جستجو تایپ می‌کرد، درخواست جدیدی به API ارسال می‌شد. این مقاله نحوهٔ تغییر این رفتار به دریافت صریح داده‌ها را آموزش می‌دهد؛ به‌طوری‌که فقط با کلیک روی دکمهٔ تأیید، درخواست به API ارسال شود. با تعریف دو وضعیت مجزا برای searchTerm و url، و استفاده از useCallback و useEffect، کنترل کامل بر زمان ارسال درخواست فراهم می‌شود.

ادامه

وضعیت‌های غیرممکن در React – مدیریت پیش‌بینی‌پذیر وضعیت با useReducer

استفاده هم‌زمان از چند useState برای مدیریت وضعیت‌های مرتبط می‌تواند منجر به وضعیت‌های غیرممکن و باگ‌های پنهان شود. این مقاله نشان می‌دهد چگونه با ترکیب وضعیت‌های مرتبط در یک useReducer واحد، می‌توان از بروز چنین مشکلاتی جلوگیری کرد. با تعریف یک ساختار وضعیت پیچیده شامل داده، بارگذاری و خطا، و استفاده از اکشن‌های مشخص، مدیریت وضعیت در React پیش‌بینی‌پذیرتر و قابل اطمینان‌تر می‌شود.

ادامه

مدیریت پیشرفته وضعیت در React – استفاده از useReducer برای انتقال‌های پیچیده

در حالی که useState برای مدیریت وضعیت‌های ساده مناسب است، هوک useReducer در React راه‌حلی مقیاس‌پذیر برای مدیریت وضعیت‌های پیچیده و وابسته ارائه می‌دهد. این مقاله نحوهٔ مهاجرت وضعیت لیست داستان‌ها از useState به useReducer را بررسی می‌کند، و نشان می‌دهد چگونه با تعریف اکشن‌هایی مانند SET_STORIES و REMOVE_STORY می‌توان منطق وضعیت را به‌صورت متمرکز و خوانا مدیریت کرد.

ادامه

رندر شرطی در React – نمایش وضعیت بارگذاری و خطا هنگام دریافت داده‌های غیرهمزمان

در React، رندر شرطی ابزاری قدرتمند برای کنترل نمایش رابط کاربری بر اساس وضعیت‌های مختلف است. این مقاله نحوهٔ نمایش پیام «در حال بارگذاری…» هنگام دریافت داده‌های غیرهمزمان، و پیام خطا در صورت شکست دریافت داده را بررسی می‌کند. با استفاده از useState و useEffect، وضعیت‌های isLoading و isError را مدیریت کرده و با استفاده از عملگرهای منطقی و ternary، رندر شرطی را پیاده‌سازی می‌کنیم.

ادامه