Kitaplıklar için Rollup ve tsup ile Paketleme
React ve ReactDOM'nin uygun biçimde dışarıda bırakılmasıyla React bileşenlerini paketlemek için Rollup veya tsup'ı yapılandırın
Kitaplıklar için Rollup ve tsup ile Paketleme, CoddyKit'te ücretsiz bir React Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, React Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. React Academy kursu toplamda 4 dersten oluşur.
Kitaplıklar için Neden Vite Kullanılmamalı
Vite'ın varsayılan yapılandırması uygulamalar için iyileştirilmiştir; her şeyi paketler, varlıkları yönetir ve bir index.html oluşturur. Bir bileşen kitaplığı için farklı bir çıktı gerekir: çalışma zamanı ek yükü olmayan, React'i paketlemeyen saf ESM/CJS JavaScript dosyaları ve uygun TypeScript bildirimleri. Vite kitaplık modu ile çalışabilir, ancak Rollup ve tsup bu amaç için daha uygundur.
Rollup: Kitaplık Standardı
Rollup, yıllardır JavaScript kitaplıkları için standart paketleyici olmuştur. Mükemmel ağaç budama desteğiyle temiz ve verimli çıktılar üretir; ayrıca hem ESM hem de CJS çıktı biçimlerini destekler. Rollup'ın kapsam yükseltme özelliği, modül sarmalayıcısı ek yükünü ortadan kaldırarak mümkün olan en küçük kitaplık paketlerini üretir.
tsup: Sıfır Yapılandırmalı Alternatif
tsup, esbuild tarafından desteklenen sıfır yapılandırmalı bir TypeScript paketleyicisidir. Rollup'tan çok daha hızlıdır (esbuild, milisaniyeler yerine mikrosaniyelerde derleme yapar). En az yapılandırmayla şu ayar: { entry: ['src/index.ts'], format: ['esm', 'cjs'], dts: true } her iki modül biçimini ve TypeScript bildirimlerini otomatik olarak üretir.
tsup Temel Yapılandırma Seçenekleri
Temel tsup seçenekleri şunlardır: giriş, giriş noktası dosyalarının dizisidir. biçim, çıktı biçimlerini belirtir: ['esm', 'cjs']. bildirim üretme, JS çıktısının yanında .d.ts TypeScript bildirim dosyaları oluşturur. hedef, en düşük JavaScript ortamını belirler (esnext veya es2020). bölme, çıktıyı tek dosyalarda tutar.
esbuild ve Rollup Arasındaki Ödünleşimler
esbuild (tsup aracılığıyla), Rollup'tan 10-100 kat daha hızlı derleme yapar. Rollup, daha iyi ağaç sarsma ayrıntı düzeyi ve parça sınırları üzerinde daha fazla denetim sağlayarak biraz daha iyi optimize edilmiş çıktılar üretir. Çoğu bileşen kitaplığında geliştirme sırasında tsup'ın hızı üstün gelir. En üst düzeyde ağaç sarsma denetimi veya karmaşık çoklu giriş yapılandırmaları gerektiğinde Rollup tercih edilir.
React'i Harici Olarak İşaretleme
Bir React kitaplığı için en kritik paketleyici yapılandırması şudur: React'i veya ReactDOM'u asla paketlemeyin. Çıktınıza dahil edilmemeleri için bunları harici olarak işaretleyin. Kitaplığınız React'i paketlerse kullanıcıların elinde iki React kopyası olur: biri paketinizden, diğeri uygulamalarından gelir. Birden çok React örneği bulunduğundan tüm React kancaları çalışmaz.
tsup'ta Harici Bağımlıları Yapılandırma
tsup yapılandırmasında external seçeneğini kullanın: external: ['react', 'react-dom']. Rollup yapılandırmasında external: ['react', 'react-dom', 'react/jsx-runtime'] ayarını yapın. Kitaplığınız JSX Dönüşümü kullanıyorsa react/jsx-runtime değerini de ekleyin. Kitaplığınızın tanımladığı diğer eş bağımlılıkları da harici olarak işaretleyin.
TypeScript için Rollup Eklentileri
Bir TypeScript kitaplığı için en küçük Rollup yapılandırması üç eklenti gerektirir: TypeScript derlemesi için @rollup/plugin-typescript, node_modules içe aktarmalarını çözümlemek için @rollup/plugin-node-resolve ve paket içindeki CommonJS bağımlılıklarını ESM'ye dönüştürmek için @rollup/plugin-commonjs. Bildirim dosyaları için rollup-plugin-dts ekleyin.
Çıktı Dizin Yapısı
Tipik bir iki biçimli kitaplık çıktısı şöyledir: ESM kullanıcıları için dist/esm/index.js ve dist/esm/index.d.ts, CJS kullanıcıları için dist/cjs/index.js ve dist/cjs/index.cjs. package.json içindeki exports alanı bu yolları doğru ortamlara eşler. TypeScript bildirim dosyaları, ilgili JS dosyalarının yanında bulunur.
Birden Çok Giriş Noktası
Büyük kitaplıklar, kullanıcıların yalnızca ihtiyaç duyduklarını içe aktarması için birden çok giriş noktasından yararlanır. Örneğin: entry: ['src/index.ts', 'src/utils.ts', 'src/hooks.ts']. Her giriş için kendi çıktı dosyaları oluşturulur. package.json içindeki exports alanı, her genel yolu çıktısına eşler: './utils' → './dist/utils.js'.
package.json İçinde Derleme Betiği
Derleme komutunu package.json içindeki betiklere ekleyin: "build": "tsup". tsup, yapılandırmasını kök dizindeki tsup.config.ts dosyasından okur. Ön yayımlama betiği derlemeyi çalıştırmalıdır: "prepublishOnly": "npm run build", paketinizin npm'de yayımlanmadan önce her zaman derlenmesini sağlar.
Kitaplık Paketinde React'i Harici Yapma
Bir React bileşen kitaplığını paketlerken React neden harici olarak işaretlenmelidir?
Ders Özeti: Kitaplık Paketleme
tsup (esbuild destekli), format: ['esm', 'cjs'] ve dts: true ile hızlı, sıfır yapılandırmalı paketleme sağlar. Rollup, @rollup/plugin-typescript ile daha ayrıntılı ağaç sarsma denetimi sunar. Kritik kural şudur: paketlenmelerini önlemek için react, react-dom ve tüm eş bağımlıkları her zaman harici olarak işaretleyin. Paralel TypeScript bildirimleriyle dist/esm/ ve dist/cjs/ dizinlerine çıktı alın. Birden çok giriş noktası, kullanıcılar için ayrıntılı ağaç sarsmayı mümkün kılar.
Yapay zeka eğitmeniyle React öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 88
- Dersler
- 324
Sıkça Sorulan Sorular
“Kitaplıklar için Rollup ve tsup ile Paketleme” dersi ücretsiz mi?
Evet — “Kitaplıklar için Rollup ve tsup ile Paketleme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve React Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. React Academy kursu toplamda 4 dersten oluşur.
“Kitaplıklar için Rollup ve tsup ile Paketleme” dersinde ne öğreneceğim?
React ve ReactDOM'nin uygun biçimde dışarıda bırakılmasıyla React bileşenlerini paketlemek için Rollup veya tsup'ı yapılandırın React Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
React Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te React Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Kitaplıklar için Rollup ve tsup ile Paketleme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu React Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her React Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Kitaplıklar için Rollup ve tsup ile Paketleme
- ESM ve CJS Çift Paket Çıktısı
- Eş Düzey Bağımlılıklar ve Ağaç Sarsma
- npm'ye Yayınlama ve Anlamsal Sürümleme