Edge Computing with Cloudflare Workers & Deno · Lekcja

Rozmiar bundla i optymalizacja kodu

Zmniejsz rozmiar bundla Workera i zużycie CPU, aby kod edge ładował się szybciej i działał w ramach limitów.

Lekcja 4 z 413 kroki

Rozmiar bundla i optymalizacja kodu to bezpłatna lekcja Edge Computing with Cloudflare Workers & Deno na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Edge Computing with Cloudflare Workers & Deno, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Edge Computing with Cloudflare Workers & Deno zawiera 4 lekcji w sumie.

Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.

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 KiB

Tree 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, and fetch instead 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 = true

Reduce 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/analyze

Best 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.

Bezpłatny start

Ucz się Edge Computing with Cloudflare Workers & Deno dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
12
Lekcje
47

Często zadawane pytania

Czy lekcja „Rozmiar bundla i optymalizacja kodu” jest bezpłatna?

Tak — pełny tekst „Rozmiar bundla i optymalizacja kodu” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Edge Computing with Cloudflare Workers & Deno, przejdź na CoddyKit PRO. Kurs Edge Computing with Cloudflare Workers & Deno zawiera 4 lekcji w sumie.

Co nauczysz się w „Rozmiar bundla i optymalizacja kodu”?

Zmniejsz rozmiar bundla Workera i zużycie CPU, aby kod edge ładował się szybciej i działał w ramach limitów. Ćwiczysz Edge Computing with Cloudflare Workers & Deno z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Edge Computing with Cloudflare Workers & Deno?

Nie wymagamy żadnego doświadczenia. Edge Computing with Cloudflare Workers & Deno w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Rozmiar bundla i optymalizacja kodu”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Edge Computing with Cloudflare Workers & Deno?

Tak. Każda lekcja Edge Computing with Cloudflare Workers & Deno zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Strategie buforowania
  2. Cold starty i rozgrzewanie
  3. Monitorowanie i rejestrowanie
  4. Rozmiar bundla i optymalizacja kodu
← Powrót do Edge Computing with Cloudflare Workers & Deno