バンドルサイズとコードの最適化
WorkerのバンドルサイズとCPU使用量を削減し、エッジコードの読み込みを高速化して制限内で実行できるようにします。
「バンドルサイズとコードの最適化」はCoddyKit上の無料Edge Computing with Cloudflare Workers & Denoレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これは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時間対応のAIチューター)、Edge Computing with Cloudflare Workers & Denoコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Edge Computing with Cloudflare Workers & Denoコースには全4レッスンが含まれています。
「バンドルサイズとコードの最適化」で何を学びますか?
WorkerのバンドルサイズとCPU使用量を削減し、エッジコードの読み込みを高速化して制限内で実行できるようにします。 ブラウザで直接実行するハンズオンコードでEdge Computing with Cloudflare Workers & Denoを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Edge Computing with Cloudflare Workers & Denoを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのEdge Computing with Cloudflare Workers & Denoは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「バンドルサイズとコードの最適化」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このEdge Computing with Cloudflare Workers & Denoレッスンでコードを書いて実行できますか?
はい。すべてのEdge Computing with Cloudflare Workers & Denoレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- キャッシュ戦略
- コールドスタートとウォームアップ
- モニタリングとロギング
- バンドルサイズとコードの最適化