CodeBlanks Logo Icon CodeBlanks

Özet - Monorepo

Yarn workspaces, Turborepo ve paylaşılan paketleri birleştirerek bir monorepo kurarsın.

Özet - Monorepo

Monorepo, birden çok paketi tek depoda tutar. Yarn workspaces ve npm workspaces gömülü çözümlerdir; ikisi de workspaces alanı kullanır ve sembolik link kurar.

Turborepo paralel yürütme ve cache ile build süresini kısaltır. Paylaşılan paketler (@my/ui, @my/utils) kod tekrarını önler; uygulamalar bunları normal import ile kullanır.

Uygulama Shared theme paketi

Bir colors nesnesi tanımla. primary anahtarı '#0066ff', background anahtarı '#ffffff' olsun. export ile dışa aktar.

Başlangıç kodu

App.js
// colors nesnesini buraya tanımla

export default colors;

Örnek çözüm

App.js
// colors nesnesini buraya tanımla
const colors = {
  primary: '#0066ff',
  background: '#ffffff'
};

export default colors;

Uygulama turborepo build script

Bir kök package.json'a scripts ekle. "build": "turbo run build" olsun.

Başlangıç kodu

App.js
{
  "name": "my-monorepo",
  "private": true,
  "workspaces": ["apps/*", "packages/*"]
  // scripts alanını buraya ekle
}

Örnek çözüm

App.js
{
  "name": "my-monorepo",
  "private": true,
  "workspaces": ["apps/*", "packages/*"],
  "scripts": {
    "build": "turbo run build"
  }
}

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Monorepo'nun en büyük kazancı nedir?

  • Daha küçük APK
  • Daha az test yazmak
  • Daha az UI bileşeni
  • Kod paylaşımı ve tek depo Doğru cevap

Açıklama: Kod paylaşımı monorepo'nun temel kazanımıdır.

2 Tüm araçları eşleştir

Kavram Anlamı
Yarn workspaces Yarn gömülü
npm workspaces npm gömülü
Turborepo Build hızlandırıcı
@my/ui Paylaşılan paket

Uzman bölümündeki tüm dersler