كيفية إعداد مشروع React مع Vite

اختار المؤلف Code.org ليتلقى تبرعًا كجزء من برنامج اكتب من أجل التبرعات.

المقدمة

عادةً ما يمكنك إنشاء مشروع جديد باستخدام Create React App، ولكن قد يستغرق الأمر وقتًا طويلاً لتثبيت أكثر من 140 ميجابايت من التبعيات. Vite هو أداة خفيفة الوزن تستهلك 31 ميجابايت من التبعيات، مما سيوفر الوقت في بدء مشروع جديد. كما يستخدم Vite وحدات ES (ECMAScript) الخاصة بالمتصفح لربط ملفات JavaScript، مما لا يعيد بناء الحزمة بأكملها بعد كل تغيير في الملف. تلك الفروقات تؤدي إلى تجربة أسرع عند إنشاء وتحديث وبناء تطبيق React باستخدام Vite.

سيقوم هذا البرنامج التعليمي بتركيب تطبيق React جديد باستخدام أداة Vite. ستقوم بإنشاء تطبيق أساسي مع مكون جديد وCSS وملف صورة، وتحضير حزمة محسنة للنشر.

بسهولة، يمكنك نشر تطبيقات React باستخدام DigitalOcean App Platform. نشر React مباشرةً من GitHub في دقائق.

المتطلبات

لمتابعة هذا البرنامج التعليمي، ستحتاج إلى ما يلي:

الخطوة 1 — إنشاء مشروع Vite

في هذه الخطوة، ستقوم بإنشاء مشروع React جديد باستخدام أداة Vite من سطر الأوامر. ستستخدم مدير الحزم yarn لتثبيت وتشغيل النصوص.

قم بتشغيل الأمر التالي في الطرفية الخاصة بك لبناء مشروع Vite جديد:

  1. yarn create vite

سيقوم هذا الأمر بتشغيل الأداة القابلة للتنفيذ Vite من مستودع npm البعيد. سيقوم بتكوين الأدوات اللازمة لبناء بيئة تطوير React محلية. وأخيرًا، سيفتح قائمة سطر الأوامر لإعدادات المشروع ونوع اللغة.

بعد انتهاء النصيحة، ستُطلب منك إدخال اسم المشروع:

Output
yarn create v1.22.10 [1/4] Resolving packages... [2/4] Fetching packages... [3/4] Linking dependencies... [4/4] Building fresh packages... success Installed "[email protected]" with binaries: - create-vite - cva ? Project name: » vite-project

اكتب اسم مشروعك (سيستخدم هذا البرنامج التعليمي digital-ocean-vite كاسم مثال):

  1. digital-ocean-vite

بعد إدخال اسم المشروع الخاص بك، سيطلب Vite منك اختيار إطار عمل:

Output
? Select a framework: » - Use arrow-keys. Return to submit. Vanilla Vue > React Preact Lit Svelte Others

يتيح لك Vite إعداد مجموعة من أنواع المشاريع، ليس فقط React. حاليًا، يدعم React، Preact، Vue، Lit، Svelte، و JavaScript الخام.

استخدم مفتاح الأسهم على لوحة المفاتيح الخاصة بك لتحديد React.

بعد اختيار إطار عمل React، سيطلب Vite منك اختيار نوع اللغة. يمكنك استخدام JavaScript أو TypeScript للعمل في مشروعك.

استخدم مفاتيح الأسهم لتحديد JavaScript:

Output
? Select a variant: » - Use arrow-keys. Return to submit. > JavaScript TypeScript JavaScript + SWC TypeScript + SWC

بعد إعداد الإطار، سترى نتيجة تفيد بأن المشروع قد تم بناؤه. بعد ذلك، سيوجهك Vite إلى تثبيت الاعتماديات باستخدام Yarn:

Output
Done: Scaffolding project in path\to\digital-ocean-vite... Done. Now run: cd digital-ocean-vite yarn yarn dev Done in 129.89s.

انتقل إلى مجلد مشروعك كما هو موجه:

  1. cd digital-ocean-vite

ثم، استخدم الأمر yarn لتثبيت الاعتماديات الخاصة بالمشروع:

  1. yarn

عند الانتهاء، ستعود عملية تثبيت الاعتمادات بناتج يوضح مدة استغراق تثبيت الاعتمادات:

Output
success Saved lockfile. Done in 43.26s.

لقد قمت الآن بإعداد مشروع React جديد باستخدام Vite وتثبيت الحزم المطلوبة من React و Vite.

الخطوة التالية، ستبدأ خادم التطوير لاختبار التطبيق.

الخطوة 2 — بدء خادم التطوير

في هذه الخطوة، ستبدأ خادم التطوير للتحقق من أن كل شيء يعمل.

من داخل مجلد digital-ocean-vite، استخدم الأمر التالي لتشغيل خادم التطوير:

  1. yarn run dev

هذا الأمر هو اختصار لأمر vite. سيقوم بتشغيل مشروعك في وضع التطوير.

ستتلقى الناتج التالي:

Output
VITE v4.0.4 ready in 847 ms ➜ Local: http://localhost:5173/ ➜ Network: use --host to expose ➜ press h to show help

بعد ذلك، افتح متصفحك وقم بزيارة http://localhost:5173/. سيتم تشغيل مشروع React الافتراضي على المنفذ 5173:

عندما ترى هذا التطبيق يعمل، فقد قمت بتثبيت React بنجاح مع Vite. الخطوة التالية، ستقوم بمعاينة تطبيقك من هاتفك المحمول.

الخطوة 3 — معاينة التطبيق من الهاتف المحمول

Vite لا يكشف تطبيق التطوير الخاص بك لشبكتك افتراضيًا. في هذه الخطوة، ستكشف التطبيق لشبكة محلية لمعاينته من هاتفك المحمول.

لتشغيل تطبيقك في شبكة محلية، يجب عليك أولاً إيقاف الخادم الحالي. في الطرفية الخاصة بك، استخدم CTRL+C لإنهاء تشغيل الخادم التطويري الحالي.

ثم، استخدم الأمر التالي لتشغيل مشروعك:

  1. yarn run dev --host

العلم --host يخبر Vite بتعريض تطبيقك للشبكة المحلية.

سوف تتلقى هذا الإخراج في الطرفية الخاصة بك:

Output
VITE v4.0.4 ready in 747 ms ➜ Local: http://localhost:5173/ ➜ Network: http://your_ip_address:5173/ ➜ press h to show help

هذا هو عنوان IP المحلي، الفريد لشبكة الكمبيوتر أو جهاز التوجيه الخاص بك.

افتح متصفحًا على هاتفك المحمول، ثم اكتب عنوان الـ IP أعلاه والمنفذ للوصول إلى معاينة تطبيق Vite الخاص بك من هاتفك المحمول:

لقد قمت الآن بتشغيل تطبيقك في بيئة التطوير وتحققت من أنه يعمل. في الخطوة التالية، ستقوم بإزالة رمز النموذج الأساسي الذي جاء مع Vite.

الخطوة 4 — إزالة الرمز الأساسي الافتراضي

في هذه الخطوة، ستقوم بإزالة ملفات النموذج الأساسية لمشروع Vite من الدليل src/، مما سيتيح لك إعداد تطبيق جديد. كما ستتعرف أيضًا على هيكل المشروع الافتراضي للتطبيق الحالي.

استخدم الأمر التالي لعرض محتويات الدليل src/ الخاص بك:

  1. ls src/

الناتج سيقوم بسرد جميع الملفات المتاحة:

Output
App.css App.jsx assets index.css main.jsx

استخدم أمر rm لحذف ملف أو دليل. استخدم الأوامر التالية لحذف الملفات الافتراضية من المشروع:

  1. rm src/App.css
  2. rm src/App.jsx
  3. rm src/index.css

احذف دليل assets باستخدام الأمر التالي:

  1. rm -r src/assets

العلم -r يعد عملية تكرارية، مطلوبة عند حذف دليل مع محتوياته.

بعد حذف هذه الملفات، سيظل فقط ملف main.jsx في الدليل src/. قم بتشغيل الأمر ls src/ مرة أخرى لرؤية الملفات المتبقية:

  1. ls src/

الآن، سيحتوي الدليل فقط على ملف main.jsx:

Output
main.jsx

بسبب إزالتك لجميع الملفات الأخرى، يجب الآن إزالة الرابط في main.jsx إلى ملف CSS تم حذفه.

افتح main.jsx للتحرير باستخدام الأمر التالي:

  1. nano src/main.jsx

قم بإزالة السطر المظلل لفصل الرابط إلى ملف CSS:

/src/main.jsx
import React from 'react'
import ReactDOM from 'react-dom/client'
import App from './App'
import "./index.css"

ReactDOM.createRoot(document.getElementById('root')).render(
<React.StrictMode>
<App />
</React.StrictMode>,
)

احفظ وأغلق ملف main.jsx.

أنشئ ملفًا جديدًا بالاسم App.jsx تحت الدليل src/ باستخدام الأمر التالي:

  1. nano src/App.jsx

أضف الكود التالي إلى ملف App.jsx:

/src/App.jsx
export default function App() {
return (
<>
<div>Hello World</div>
</>
);
}

يقوم هذا الكود بإنشاء مكون React وظيفي جديد يسمى App. بادئة export default تخبر JavaScript بتصدير هذه الوظيفة كتصدير افتراضي. يحتوي جسم الوظيفة على <div> مع نص Hello World.

احفظ وأغلق ملف App.jsx.

استخدم الأمر التالي لتشغيل خادم التطوير مرة أخرى:

  1. yarn run dev --host

الآن، افتح أو قم بتحديث http://localhost:3000 في متصفحك للوصول إلى صفحة فارغة تعرض نص Hello World:

في هذه الخطوة، قمت بإزالة بعض الملفات الافتراضية من مشروع Vite. في الخطوة التالية، ستقوم ببناء تطبيق أساسي مع مكونات جديدة، وملفات CSS، وملفات صور.

الخطوة 5 — إنشاء تطبيق أساسي

في هذه الخطوة، ستقوم بإنشاء مكونات، وإضافة ملفات CSS، وربط الصور من خلال إنشاء تطبيق أساسي. ابدأ بإغلاق خادم التطوير.

في القسم الفرعي التالي، ستقوم بإنشاء مكون جديد لتطبيق React الخاص بك.

إنشاء مكون

إضافة مكون جديد يضيف النمطية إلى مشروعك. ستقوم بإضافة جميع المكونات في دليل components للحفاظ على التنظيم.

استخدم الأمر التالي لإنشاء دليل جديد يسمى components داخل src/:

  1. mkdir src/components

ثم، قم بإنشاء ملف جديد يسمى Welcome.jsx داخل دليل src/components/ بالأمر التالي:

  1. nano src/components/Welcome.jsx

أضف الكود التالي إلى ملف Welcome.jsx:

/src/components/Welcome.jsx
export default function Welcome() {
return (
<>
<div className="wrapper">
<h1>Welcome To My App</h1>
<p>This is going to be the coolest app in the world!</p>
</div>
</>
);
}

الشيفرة أعلاه ستنشئ مكونًا جديدًا للتفاعل يُسمى `Welcome`. بادئة `export default` تخبر JavaScript بتصدير هذه الوظيفة كتصدير افتراضي.

علامة `div` مع اسم فئة `wrapper` تسمح لك باستهداف هذا القسم في CSS. العلامات `h1` و `p` ستعرض الرسالة على الشاشة.

احفظ وأغلق الملف.

بعد ذلك، ستقوم بالإشارة إلى هذا المكون الجديد في ملف `App.jsx`.

افتح `App.jsx` باستخدام الأمر التالي:

  1. nano src/App.jsx

حدث محتويات `App.jsx` بالشيفرة المميزة التالية:

/src/App.jsx
import Welcome from "./components/Welcome"

export default function App() {
return (
<>
<Welcome />
</>
)
}

هذا السطر من الشيفرة سيقوم باستيراد `Welcome.jsx` إلى التطبيق وربط المكون الجديد بجسم الوظيفة. عند الانتهاء، احفظ وأغلق الملف.

في القسم الفرعي التالي، ستقوم بإضافة صورة إلى التطبيق الخاص بك.

إضافة صورة

إضافة الصور في React هو حالة استخدام شائعة في تطوير التطبيقات.

قم بإنشاء دليل جديد يسمى `img` تحت الدليل `src/` باستخدام الأمر التالي:

  1. mkdir src/img

انتقل إلى الدليل `src/img` باستخدام هذا الأمر:

  1. cd src/img

ستقوم بتنزيل هذه الصورة لـ Sammy إلى `src/img`.

قم بتنزيل الصورة باستخدام `wget`:

  1. wget https://html.sammy-codes.com/images/small-profile.jpeg

قم بتغيير اسم الصورة باستخدام الأمر التالي:

  1. mv small-profile.jpeg sammy.jpeg

هذا الأمر يُعيد تسمية ملف الصورة من small-profile.jpeg إلى sammy.jpeg، مما سيجعل الإشارة إليه فيما بعد أسهل.

ارجع إلى الدليل الرئيسي باستخدام هذا الأمر:

  1. cd ../../

بعد ذلك، ستقوم بتحديث ملف Welcome.jsx لربطه بالصورة. قم بفتح الملف:

  1. nano src/components/Welcome.jsx

قم بتحديث ملف Welcome.jsx الخاص بك عن طريق إضافة السطور المظللة:

/src/components/Welcome.jsx
import Sammy from "../img/sammy.jpeg"

export default function Welcome() {
return (
<>
<div className="wrapper">
<h1>Welcome To My App</h1>
<p>This is going to be the coolest app in the world!</p>
<img src={Sammy} alt="Sammy Image" width={200} height={200} />
</div>
</>
)
}

السطر الأول سيقوم باستيراد الصورة إلى React كوحدة.

السطر الآخر داخل جسم الدالة سيقوم بإنشاء علامة <img> جديدة وربط السمة src بمكون الصورة الذي قمت بالتحديث له للتو. السمات width و height ستقوم بتعيين سمات الصورة المقابلة إلى 200 بكسل.

احفظ وأغلق ملف Welcome.jsx.

بعد ذلك، ستقوم بإضافة CSS إلى مشروعك.

إضافة CSS

في هذا القسم الفرعي، ستقوم بإضافة ملف CSS مخصص إلى مشروعك لتنسيق التطبيق الخاص بك.

قم بإنشاء دليل جديد باسم css تحت الدليل src/ باستخدام الأمر التالي:

  1. mkdir src/css

الآن، قم بإنشاء ملف CSS جديد بالاسم main.css في src/css:

  1. nano src/css/main.css

أضف الكود التالي إلى ملف main.css:

/src/css/main.css
body {
display: grid;
place-items: center;
background-color: #b4a7d6;
font-family: Arial, Helvetica, sans-serif;
}

.wrapper {
background-color: #fff9e6;
padding: 20px;
border-radius: 10px;
}

h1 {
color: #8873be;
}

في ال CSS أعلاه، قمت بتعيين عرض الشبكة ووضع العناصر في الوسط للـ body. كما قمت بتعيين عائلة الخط ولون الخلفية.

الفئة .wrapper ستحدد div الحاوية في ملف Welcome.jsx الخاص بك. ستقوم الأنماط لهذه الفئة بعمل الآتي:

  • تعيين لون خلفية.
  • إضافة تباعد بقيمة 20 بكسل.
  • إضافة زوايا مستديرة بقيمة 10 بكسل.

المحدد h1 سيستهدف الوسم في HTML، مع تعيين لونه إلى درجة من اللون الأرجواني.

عند الانتهاء، قم بحفظ وإغلاق ملف main.css.

بعد ذلك، ستقوم بالإشارة إلى ملف CSS الجديد من مكون Welcome.jsx. افتح ملف Welcome.jsx:

  1. nano src/components/Welcome.jsx

قم بتحديث محتويات الملف بالسطر المميز:

/src/components/Welcome.jsx
import Sammy from "../img/sammy.jpeg"
import "../css/main.css"

export default function Welcome() {
return (
<>
<div className="wrapper">
<h1>Welcome To My App</h1>
<p>This is going to be the coolest app in the world!</p>
<img src={Sammy} alt="Sammy Image" width={200} height={200} />
</div>
</>
)
}

سيقوم هذا السطر بإستيراد ملف CSS كوحدة في مكونك. قد تحتاج إلى تحديث السطر بالمسار الصحيح لمجلد مشروعك.

عند الانتهاء، قم بحفظ وإغلاق ملف Welcome.jsx.

في القسم الفرعي التالي، ستقوم بتغيير شريط عنوان التطبيق الخاص بك.

تغيير شريط عنوان التطبيق

افتراضيًا، يعرض تطبيق Vite النص Vite + React في شريط عنوان المتصفح. في هذه الخطوة، ستقوم بتغييره إلى عنوان وصفي.

افتح index.html في دليل الجذر الخاص بك:

  1. nano index.html

قم بتحديث وسم <title> بالنص المميز:

/index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>My Cool App</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.jsx"></script>
</body>
</html>

هذا النص يستبدل شريط عنوان التطبيق Vite App الافتراضي بعنوان تطبيق مخصص لك.

احفظ وأغلق ملف index.html.

إذا كنت بحاجة لإعادة تشغيل خادم التطوير، قم بتشغيل هذا الأمر:

  1. yarn run dev --host

بعد كل هذه التغييرات، قم بزيارة http://localhost:5173 لعرض تطبيقك. سترى نسخة جديدة من تطبيقك.

يمكنك إغلاق خادم التطوير عندما تكون مستعدًا للانتقال إلى المرحلة التالية من عملية البناء.

لقد قمت الآن بإضافة صورة، وتغيير الأنماط، وجعل واجهة المستخدم مصقولة. في الخطوة التالية والأخيرة، ستقوم بإنشاء حزمة تطبيق محسنة للنشر.

الخطوة 6 — البناء للإنتاجية

في هذه الخطوة، ستقوم بإنشاء حزمة تطبيق محسنة جاهزة للنشر على خادم. لإنشاء الحزمة، قم بتشغيل الأمر التالي في الطرفية:

  1. yarn run build

هذا الأمر ينشئ مجلدًا جديدًا dist يحتوي على ملفات المصدر المصغرة التي يمكنك نشرها على خادمك للإنتاجية.

ستحصل على نتيجة مشابهة لهذه:

Output
vite v4.0.4 building for production... ✓ 34 modules transformed. dist/index.html 0.45 kB dist/assets/sammy-9cb83ad5.jpeg 6.74 kB dist/assets/index-d1c95597.css 0.19 kB │ gzip: 0.16 kB dist/assets/index-e0751083.js 143.19 kB │ gzip: 46.04 kB ✨ Done in 1.63s.

يمكنك الآن نشر محتويات المجلد dist على خادم عبر الإنترنت. إذا كان لديك خادم Apache أو Nginx, يمكنك تحميل المحتويات يدويًا. يمكنك أيضًا استخدام منصة تطبيق لتشغيل سكريبت البناء وتوليد ملفات البناء تلقائيًا. لنشر تطبيق React الخاص بك على منصة تطبيق DigitalOcean، اتبع البرنامج التعليمي الخاص بنا حول كيفية نشر تطبيق React على منصة التطبيق DigitalOcean.

الاستنتاج

في هذا البرنامج التعليمي، قمت بإنشاء تطبيق React جديد باستخدام أداة Vite. قمت بتركيب تطبيق React جديد بتنفيذ أمر yarn create vite. بعد إزالة رموز البداية، قمت بإنشاء مكوناتك من خلال إضافة صورة مخصصة، وملف CSS، وتغيير شريط العنوان. وأخيرًا، قمت بإنشاء حزمة محسنة باستخدام أمر yarn run build، جاهزة للنشر.

الآن بعد أن لديك تطبيق React مبني بواسطة Vite، انظر ماذا يمكنك فعله مع React في سلسلة كيفية البرمجة في React.js واستكشاف البرامج التعليمية الأخرى لـ React.

Source:
https://www.digitalocean.com/community/tutorials/how-to-set-up-a-react-project-with-vite