Nx Affected Komutları ve Önbelleğe Alma
Yalnızca bir değişiklikten etkilenen testleri ve derlemeleri çalıştırın; Nx Cloud dağıtık önbelleğe almayla CI'yi hızlandırın.
Nx Affected Komutları ve Önbelleğe Alma, CoddyKit'te ücretsiz bir React Academy dersidir. Bu, 4 dersinin 3. 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.
Etkilenen Kavramı
Nx, monoreponuzun bağımlılık grafiğini izler. Bir dosyayı değiştirdiğinizde Nx, hangi projelerin etkilendiğini (doğrudan değiştirilen veya değiştirilen projelere bağımlı olan projeleri) hesaplar ve görevleri yalnızca bunlar için çalıştırır.
Etkilenen Sınamaları Çalıştırma
Ana daldan bu yana yapılan değişikliklerden etkilenen projeler için yalnızca sınamaları çalıştırın.
# Compare to main branch:
npx nx affected --target=test --base=origin/main --head=HEAD
# Shorthand (uses nx.json defaultBase):
npx nx affected --target=testEtkilenen Derlemeleri Çalıştırma
Yalnızca etkilenen projeleri derleyin; bu, her PR'da tüm monorepoyu yeniden derlemekten kaçınmak için CI açısından gereklidir.
npx nx affected --target=build
# With parallel workers:
npx nx affected --target=build --parallel=3Etkilenen Lint ve E2E
Aynı yaklaşımı lint işlemine ve E2E sınamalarına da uygulayın.
npx nx affected --target=lint
npx nx affected --target=e2eNx Etkilenenleri Nasıl Belirler?
Nx, tüm kaynak dosyalarının, package.json dosyalarının ve yapılandırma dosyalarının özetlerini hesaplar. Bir projenin kendi dosyalarından herhangi biri değiştiyse veya içe aktardığı herhangi bir proje değiştiyse proje etkilenmiş sayılır.
Yerel Hesaplama Önbelleği
Nx, görev çıktılarını (derleme yapıtlarını ve sınama sonuçlarını) .nx/cache içinde önbelleğe alır. Girdiler değişmeden aynı görevi çalıştırdığınızda sonuçlar önbellekten anında geri yüklenir; terminal günlükleri dahil çıktılar yeniden oynatılır.
# First run (builds):
$ npx nx build web → Builds in 28s, cached
# Second run (no changes):
$ npx nx build web → Cache hit! [existing outputs match] 0ms
# Clear cache if needed:
$ npx nx resetNx Cloud Uzaktan Önbelleği
Nx Cloud, önbelleği ekip üyeleri ve CI arasında paylaşır. Bir çalışma arkadaşınız aynı girdilerle bir projeyi daha önce derlediyse CI'niz, yeni kurulmuş bir makinede bile yeniden derlemek yerine uzak önbelleği kullanır.
# Connect workspace to Nx Cloud:
npx nx connect-to-nx-cloud
# Set CI environment variable:
# NX_CLOUD_ACCESS_TOKEN=<token>Önbellek Girdilerini Yapılandırma
Bir hedef için hangi dosyaların önbellek girdisi olduğunu project.json içinde yapılandırın. Önbellek isabetlerini en üst düzeye çıkarmak için derleme çıktısını etkilemeyen dosyaları (ör. README ve sınama verileri) hariç tutun.
// project.json
{
"targets": {
"build": {
"inputs": [
"default", // source files
"^default" // upstream dependency source files
],
"outputs": ["{workspaceRoot}/dist/apps/web"]
}
}
}Görev Dağıtımı (Nx Agents)
Nx Cloud Agents, etkilenen görevleri birden çok CI makinesine paralel olarak dağıtır ve büyük monorepolarda CI'nin geçen süresini önemli ölçüde azaltır.
Nx Console VS Code Uzantısı
Nx Console uzantısı, CLI seçeneklerini ezberlemeden Nx komutlarını çalıştırmak, proje grafiğini görselleştirmek ve kod oluşturmak için bir GUI sağlar.
Görev Grafiğini Görselleştirme
nx graph --task=build, hangi görevlerin hangi diğer görevlere bağlı olduğunu da içeren görev bağımlılığı grafiğini gösterir; bu, derleme sırasını anlamak için yararlıdır.
npx nx graph --task=buildKısa Kontrol
Bir Nx görevinin önbellek isabeti olup olmadığını ne belirler?
Özet
nx affected --target=X, görevleri yalnızca değişen projeler ve bunlara bağımlı projeler için çalıştırır. Nx, girdilerin özetlerini hesaplayarak çıktıları önbelleğe alır ve sonuçları anında yeniden oynatır. Nx Cloud, bunu makineler arasında paylaşılan uzak bir önbelleğe genişletir. CI'yi hızlandırmak için görevleri eşzamanlı çalıştırmak üzere --parallel=N kullanın.
Sıkça Sorulan Sorular
“Nx Affected Komutları ve Önbelleğe Alma” dersi ücretsiz mi?
Evet — “Nx Affected Komutları ve Önbelleğe Alma” 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.
“Nx Affected Komutları ve Önbelleğe Alma” dersinde ne öğreneceğim?
Yalnızca bir değişiklikten etkilenen testleri ve derlemeleri çalıştırın; Nx Cloud dağıtık önbelleğe almayla CI'yi hızlandı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 3. dersidir.
“Nx Affected Komutları ve Önbelleğe Alma” 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
- React Uygulamalarıyla Nx Monorepo Oluşturma
- Paylaşılan Kütüphaneler ve Dahili Paketler
- Nx Affected Komutları ve Önbelleğe Alma
- Kod Üreticileri ve Çalışma Alanı Otomasyonu