حجم الحزمة وتحسين الكود
خفّض حجم حزمة Worker واستخدام CPU حتى يُحمّل كود الحافة لديك بسرعة أكبر ويعمل ضمن الحدود.
حجم الحزمة وتحسين الكود درس مجاني في Edge Computing with Cloudflare Workers & Deno على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Edge Computing with Cloudflare Workers & Deno، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Edge Computing with Cloudflare Workers & Deno 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
Why Bundle Size Matters
Workers have a script size limit (1 MB compressed on the free plan, more on paid).
Smaller bundles mean:
- Faster parse and startup
- Lower memory footprint
- Reduced cold-start impact
Optimizing your code is a direct performance win at the edge.
Measure Before Optimizing
Wrangler reports your bundle size on every build. Always measure first.
wrangler deploy --dry-run
# Total Upload: 142.18 KiB / gzip: 38.94 KiBTree Shaking
Use ES module import/export so the bundler can tree-shake unused code.
Import only what you need, never the whole library when a single function will do.
// Good: only pulls debounce
import debounce from 'lodash-es/debounce';
// Bad: pulls all of lodash
import _ from 'lodash';Prefer Lightweight Dependencies
Heavy npm packages bloat bundles fast. Prefer small, edge-friendly libraries.
- Use the platform
URL,crypto.subtle, andfetchinstead of polyfills - Swap moment.js for a tiny date helper
- Audit with a bundle analyzer
Use Web Standard APIs
Workers and Deno expose many Web Platform APIs natively, so you avoid bundling polyfills.
// Native crypto, no dependency needed
const hash = await crypto.subtle.digest(
'SHA-256',
new TextEncoder().encode('hello')
);Minification
Wrangler minifies production builds by default, but confirm it is enabled.
[build]
minify = trueReduce CPU Time
Workers bill and limit by CPU time, not wall-clock. Optimize hot paths:
- Avoid synchronous loops over huge arrays
- Cache computed results in KV or memory
- Stream large responses instead of buffering
Stream Instead of Buffer
Streaming sends data as it is produced, keeping memory low and CPU steady.
const { readable, writable } = new TransformStream();
response.body.pipeTo(writable);
return new Response(readable, response);Lazy-Load Rarely Used Code
Dynamic import() can defer loading code paths that are not always needed, keeping the initial module lean.
if (needsHeavyFeature) {
const { process } = await import('./heavy.js');
process();
}Analyze Your Bundle
Use an analyzer to see which dependencies dominate. esbuild (which Wrangler uses) can emit a metafile.
esbuild src/index.ts --bundle --metafile=meta.json
# upload meta.json to esbuild.github.io/analyzeBest Practices Summary
To keep edge code fast and small:
- Measure bundle size on every deploy
- Tree-shake and import narrowly
- Prefer native Web APIs over polyfills
- Minify, stream, and lazy-load
- Cut CPU time in hot paths
Quick Check
Which technique most directly lets the bundler remove unused library code?
Recap
You optimized both size and speed:
- Measure first, then tree-shake and minify
- Use native Web APIs and lightweight deps
- Stream and lazy-load to cut memory and CPU
- Analyze the bundle to find offenders
Lean Workers start faster and cost less, every kilobyte counts at the edge.
الأسئلة الشائعة
هل درس «حجم الحزمة وتحسين الكود» مجاني؟
نعم — نص درس «حجم الحزمة وتحسين الكود» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Edge Computing with Cloudflare Workers & Deno، انتقل إلى CoddyKit PRO. تتضمن دورة Edge Computing with Cloudflare Workers & Deno 4 دروس في المجموع.
ماذا ستتعلم في «حجم الحزمة وتحسين الكود»؟
خفّض حجم حزمة Worker واستخدام CPU حتى يُحمّل كود الحافة لديك بسرعة أكبر ويعمل ضمن الحدود. تتمرن على Edge Computing with Cloudflare Workers & Deno مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Edge Computing with Cloudflare Workers & Deno؟
لا تُشترط خبرة سابقة. Edge Computing with Cloudflare Workers & Deno على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «حجم الحزمة وتحسين الكود»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Edge Computing with Cloudflare Workers & Deno هذا؟
نعم. كل درس في Edge Computing with Cloudflare Workers & Deno يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- استراتيجيات التخزين المؤقت
- بدء التشغيل البارد والتهيئة المسبقة
- المراقبة والتسجيل
- حجم الحزمة وتحسين الكود