- بواسطة x32x01 ||
🌟 تعالى أقولك على حاجة هتخلي الكود بتاعك أخف وأسرع، وهي Tree Shaking.
بس قبل أي حاجة، يعني إيه Tree Shaking؟ 🤔
💡 الفكرة ببساطة:
هي عملية بيعملها الباندلر (زي Webpack أو Rollup) عشان يشيل أي كود مكتوب بس مش مستخدم (اللي بنسميه dead code).
يعني مثلًا لو استوردت مكتبة فيها 100 دالة، وانت بتستخدم منهم واحدة بس - Tree Shaking بيحذف الـ 99 الباقيين 😎
✅ كود أنضف - الكود بيتنضف من أي حاجات مش مستخدمة.
✅ تجربة مستخدم أحسن - الصفحة بتتحمل أسرع، خصوصًا على النت البطيء.
1️⃣ استخدم ES Modules (import/export)
Tree Shaking بيشتغل مع ES6 modules بشكل أفضل من CommonJS (require).
2️⃣ تجنب الكود غير المستخدم
لو عندك دوال أو متغيرات مش بتستخدمها، امسحها فورًا 💥
3️⃣ استخدم Bundlers تدعم Tree Shaking
زي Webpack، Rollup، أو Vite.
وتأكد إن الـ mode على production:
4️⃣ اختار مكتبات خفيفة تدعم Tree Shaking
زي lodash-es بدل lodash العادي.
🧩 مثال عملي:
❌ الطريقة القديمة (بتستهلك كل حاجة):
✅ الطريقة الصح:
الفرق؟ 😏
الطريقة التانية بتقلل حجم الكود النهائي بشكل ضخم 💪
🔥 الخلاصة:
Tree Shaking مش بس ميزة تقنية، دي طريقة تفكير في كتابة الكود.
لو كودك خفيف ونظيف، المستخدمين هيحسوا بالفرق بسرعة ⚡
لو استفدت ❤️ اديني ريأكت وأخبرنى:
كنت عارف الميزة دي قبل كده ولا دي أول مرة تسمع عنها؟ 😄
بس قبل أي حاجة، يعني إيه Tree Shaking؟ 🤔
💡 الفكرة ببساطة:
هي عملية بيعملها الباندلر (زي Webpack أو Rollup) عشان يشيل أي كود مكتوب بس مش مستخدم (اللي بنسميه dead code).
يعني مثلًا لو استوردت مكتبة فيها 100 دالة، وانت بتستخدم منهم واحدة بس - Tree Shaking بيحذف الـ 99 الباقيين 😎
🚀 ليه Tree Shaking مهم؟
✅ أداء أفضل - حجم الكود النهائي (bundle) بيبقى أصغر، يعني وقت تحميل أسرع.✅ كود أنضف - الكود بيتنضف من أي حاجات مش مستخدمة.
✅ تجربة مستخدم أحسن - الصفحة بتتحمل أسرع، خصوصًا على النت البطيء.
🧠 إزاي تستفيد منه؟
1️⃣ استخدم ES Modules (import/export)
Tree Shaking بيشتغل مع ES6 modules بشكل أفضل من CommonJS (require).
2️⃣ تجنب الكود غير المستخدم
لو عندك دوال أو متغيرات مش بتستخدمها، امسحها فورًا 💥
3️⃣ استخدم Bundlers تدعم Tree Shaking
زي Webpack، Rollup، أو Vite.
وتأكد إن الـ mode على production:
Code:
webpack --mode production 4️⃣ اختار مكتبات خفيفة تدعم Tree Shaking
زي lodash-es بدل lodash العادي.
🧩 مثال عملي:
❌ الطريقة القديمة (بتستهلك كل حاجة):
Code:
import * as lodash from 'lodash';
console.log(lodash.debounce); ✅ الطريقة الصح:
Code:
import { debounce } from 'lodash'; الفرق؟ 😏
الطريقة التانية بتقلل حجم الكود النهائي بشكل ضخم 💪
🔥 الخلاصة:
Tree Shaking مش بس ميزة تقنية، دي طريقة تفكير في كتابة الكود.
لو كودك خفيف ونظيف، المستخدمين هيحسوا بالفرق بسرعة ⚡
لو استفدت ❤️ اديني ريأكت وأخبرنى:
كنت عارف الميزة دي قبل كده ولا دي أول مرة تسمع عنها؟ 😄
التعديل الأخير: