Sürümleme, Dağıtım ve Düzenleme
Uzak uygulamaları anlamsal sürümlemeyle bağımsız olarak dağıtın, paylaşılan kitaplık çakışmalarını yönetin ve sürümleri koordine edin.
Sürümleme, Dağıtım ve Düzenleme, CoddyKit'te ücretsiz bir React Academy dersidir. Bu, 4 dersinin 4. 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.
Bağımsız Dağıtım: Temel Değer
Module Federation'ın temel değeri bağımsız dağıtımdır: bir ekip, ana uygulama ekipleriyle koordinasyon kurmadan veya ana uygulamanın yeniden dağıtımını tetiklemeden uzak uygulamasını güncelleyebilir, sınayabilir ve dağıtabilir. Ana uygulama, uzak uygulamanın URL'sinden remoteEntry.js dosyasını bir sonraki yükleyişinde değişiklikleri otomatik olarak alır.
Uzak Uygulama URL'lerini Sürümlendirme
remoteEntry.js dosyasını her dağıtımda değişen sabit bir URL'den sunmak yerine URL'ye bir içerik karması ekleyin: remoteEntry.[hash].js. Böylece her dağıtım değişmez hâle gelir; eski URL'ler çalışmaya devam eder ve ana uygulama yeni dağıtıma güncellendiğinde yeni karmaya başvurur. Değişmez URL'ler, CDN önbelleğinden agresif biçimde yararlanmayı mümkün kılar.
Altyapı Düzeyinde Özellik Bayrakları
Ana uygulama uzak uygulamaları URL aracılığıyla keşfettiğinden, altyapı düzeyinde A/B sınaması uygulayabilirsiniz: farklı kullanıcılara farklı uzak sürümlerini gösteren farklı remoteEntry.js URL'leri sunun. Bu, uygulama kodunda herhangi bir özellik bayrağı mantığı olmadan mikro ön yüzler için gerçek kademeli dağıtımları mümkün kılar.
Esnek Keşif için Bildirim Yaklaşımı
Uzak uygulama URL'lerini Webpack yapılandırmasında sabit kodlamak yerine ana uygulama başlangıçta bir JSON bildirimi alır: GET /federation-manifest.json, { buttonApp: 'https://cdn.example.com/button/remoteEntry.abc123.js' } değerini döndürür. Ana uygulamanın kullanacağı sürümü değiştirmek için bildirimi güncellemeniz yeterlidir; ana uygulamayı yeniden derlemeniz gerekmez.
Bildirim Güncellemesiyle Geri Alma
Bir uzak uygulama dağıtımı gerilemeye neden olduğunda geri alma işlemi anında yapılabilir: federation-manifest.json dosyasını önceki remoteEntry.js URL'sini gösterecek şekilde güncelleyin. Ana uygulama, sonraki istek döngüsünde eski sürümü kullanmaya hemen başlar. Ana uygulamayı yeniden derleme yoktur, ana uygulamayı geri alma yoktur, koordinasyon gerekmez.
Webpack Module Federation 2.0
Module Federation 2.0 (@module-federation/enhanced paketi), önemli iyileştirmeler sunar: uzak bildirim dosyalarından otomatik tür oluşturmayla daha iyi TypeScript desteği, özel yükleme mantığı için çalışma zamanı eklenti programlama arayüzü ve karmaşık sürüm uzlaştırma senaryoları için geliştirilmiş paylaşılan kapsam yönetimi.
Vite için vite-plugin-federation
vite-plugin-federation paketi, Module Federation'ı Vite tabanlı projelere getirir ve Webpack'in ModuleFederationPlugin'ine benzer bir yapılandırma programlama arayüzü kullanır. Hem Vite uzak modülleriyle hem de Webpack ana uygulamalarıyla (ve tersiyle) uyumludur; böylece ekiplerin Module Federation'dan vazgeçmeden aşamalı olarak Vite'a geçmesini sağlar.
Çalışma Zamanında Dinamik Uzak Modüller
Son derece dinamik mimariler için uzak adresleri tamamen çalışma zamanında yapılandırabilirsiniz: import(remoteRegistry[featureName]); burada remoteRegistry bir programlama arayüzü çağrısıyla doldurulur. Bu, kabuk uygulamasını hiç yeniden derlemeden yeni mikro ön yüzlerin eklenebildiği eklenti benzeri mimarileri mümkün kılar.
Kabuk Uygulaması Orkestratör Olarak
Kabuk uygulamasının temel görevi düzenlemedir: uzak bildirim dosyasını okur, Module Federation'ın çalışma zamanını başlatır, uzak modülleri adlandırılmış rotalara kaydeder ve geçerli adrese göre uygun uzak modülü görüntüler. Kabuk bilinçli olarak yalın tutulur — neyin yükleneceğini bilir, nasıl görüntüleneceğini değil.
Üretim Ortamında Module Federation'ı İzleme
Uzak modül yüklemesine performans izleme ekleyin: yükleme hatalarını uygun şekilde ele almak için uzak içe aktarmaları try/catch ile sarın (uzak modül kullanılamıyorsa bir geri dönüş arayüzü görüntüleyin), remoteEntry.js dosyasını ve bileşen parçalarını indirme süresini ölçün ve uzak modül yükleme süresi bir eşik değerini aşarsa uyarı verin (bu, CDN sorunlarına işaret eder).
Eksiksiz Sürekli Tümleştirme ve Sürekli Teslim İş Hattı
Olgun bir Module Federation sürekli tümleştirme ve sürekli teslim iş hattı şöyle görünür: uzak modül ekibi değişiklik gönderir → sürekli tümleştirme sistemi uzak modülü derler → değişmez remoteEntry.[hash].js dosyasını CDN'ye yükler → federation-manifest.json dosyasını günceller → ana uygulama, sonraki kullanıcı isteğinde yeni uzak modülü alır. Her adım otomatiktir ve ana uygulama ekibinin uzak dağıtımlara hiçbir zaman dahil olması gerekmez.
Module Federation Geri Alma Stratejisi
Kötü bir Module Federation uzak modül dağıtımını geri almanın en hızlı yolu nedir?
Ders Özeti
Module Federation, gerçek anlamda bağımsız dağıtımı mümkün kılar: uzak modüller ana uygulamayı yeniden derlemeden dağıtılır ve ana uygulama yeni sürümleri otomatik olarak keşfeder. Değişmez CDN önbelleklemesi için içerik karmalı uzak adresler, esnek sürüm yönlendirmesi ve anında geri alma işlemleri için dinamik bir bildirim dosyası kullanın. vite-plugin-federation bu yetenekleri Vite'a getirir ve dinamik uzak içe aktarmalar eklenti benzeri mimarileri mümkün kılar. Kabuk, uzak modül yüklemesini düzenleyerek kendisini bilinçli olarak yalın tutar.
Sıkça Sorulan Sorular
“Sürümleme, Dağıtım ve Düzenleme” dersi ücretsiz mi?
Evet — “Sürümleme, Dağıtım ve Düzenleme” 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.
“Sürümleme, Dağıtım ve Düzenleme” dersinde ne öğreneceğim?
Uzak uygulamaları anlamsal sürümlemeyle bağımsız olarak dağıtın, paylaşılan kitaplık çakışmalarını yönetin ve sürümleri koordine edin. 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 4. dersidir.
“Sürümleme, Dağıtım ve Düzenleme” 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
- Modül Federasyonu: Dinamik Çalışma Zamanı İçe Aktarmaları
- Ana Makine ve Uzak React Uygulamalarını Yapılandırma
- Uzak Uygulamalar Arasında Durum ve Yönlendirme Paylaşma
- Sürümleme, Dağıtım ve Düzenleme