Yarn workspaces kullanarak projeler arasında bağımlılıklar nasıl paylaşılır?

Jan 15, 2026

Mesaj bırakın

Projeler arasındaki bağımlılıkları paylaşmak, özellikle aynı paketlere dayanan birden fazla projeyle uğraşırken gerçek bir baş ağrısı olabilir. Ama tahmin et ne oldu? İplik çalışma alanları kurtarmaya geliyor! Bir İplik tedarikçisi olarak, bu özelliğin geliştirme sürecini nasıl kolaylaştırdığını ve zamandan ve emekten nasıl tasarruf edebileceğinizi ilk elden gördüm. Bu blog yazısında, projeler arasındaki bağımlılıkları paylaşmak için Yarn çalışma alanlarını nasıl kullanacağınız konusunda size yol göstereceğim.

Öncelikle Yarn çalışma alanlarının ne olduğundan bahsedelim. Basit bir ifadeyle Yarn çalışma alanları, tek bir depodaki birden fazla paketi sanki tek bir birimmiş gibi yönetmenize olanak tanır. Bu, ilgili tüm projelerinizin bir arada yaşadığı bir monorepo kurulumuna sahip olabileceğiniz anlamına gelir ve Yarn, bu projelerdeki bağımlılıkları verimli bir şekilde ele alır.

İplik Çalışma Alanlarını Ayarlama

Yarn çalışma alanlarına başlamak için sisteminizde Yarn'ın kurulu olması gerekir. Henüz yapmadıysanız resmi web sitesinden indirebilirsiniz. Yarn'ı hazırlayıp çalıştırdığınızda, monorepo'nuz için yeni bir dizin oluşturun ve çalıştırarak yeni bir Yarn projesi başlatın.iplik başlangıç ​​-ykök dizinde.

Daha sonra, çalışma alanlarınızı etkinleştirmeniz gerekir.paket.jsondosya. Açpaket.jsonDosyayı bir metin düzenleyicide açın ve aşağıdaki bölümü ekleyin:

{ "özel": doğru, "çalışma alanları": [ "paketler/*" ] }

"özel": doğrusatırı önemlidir çünkü Yarn'a bunun özel bir monorepo olduğunu ve yayınlanabilir bir paket olmadığını söyler."çalışma alanları"dizi bireysel paketlerinizin bulunduğu dizinleri belirtir. Bu örnekte, tüm paketlerimizinpaketlerdizin.

Monorepo'da Proje Oluşturma

Artık Yarn çalışma alanlarını kurduğunuza göre projelerinizi oluşturmanın zamanı geldi. OluşturpaketlerZaten mevcut değilse, kök dizininizde bir dizin oluşturun ve ardından içindeki projelerinizin her biri için alt dizinler oluşturun.

Her proje için çalıştırarak yeni bir İplik projesi başlatın.iplik başlangıç ​​-yprojenin dizininde. Bu bir yaratacaktırpaket.jsonsöz konusu projeye ait dosya.

Bağımlılıkları Paylaşma

Yarn çalışma alanlarının temel avantajlarından biri projeler arasındaki bağımlılıkları paylaşabilme yeteneğidir. Her projenin aynı bağımlılıkların kendi kopyalarını yönetmesini sağlamak yerine bunları monorepo'nuzun kök seviyesine kurabilirsiniz.

Diyelim ki iki projeniz varpaketlerdizin:proje-aVeproje-bve her ikisinin de ihtiyacı varlodashkütüphane. Yükleyebilirsinizlodashçalıştırarak kök düzeyindeiplik ekleme lodashmonorepo'nuzun kök dizininde.

İplik daha sonra kaldırılacaklodashköke kadar kurulumnode_modulesdizini oluşturun ve tüm projelerinizde kullanılabilir hale getirin. Bu yalnızca disk alanından tasarruf etmekle kalmaz, aynı zamanda tüm projelerin bağımlılığın aynı sürümünü kullanmasını sağlar ve bu da uyumluluk sorunlarını önleyebilir.

Yerel Paketlere Referans Verme

Yarn çalışma alanları, dış bağımlılıkları paylaşmanın yanı sıra monorepo'nuz içindeki yerel paketlere referans vermeyi de kolaylaştırır. adında bir yardımcı program paketiniz olduğunu varsayalım.araçlarsenin içindepaketlerdizininiz veproje-aonu kullanmak istiyor.

İlk olarak,paket.jsondosyasıproje-a, eklearaçlarbağımlılık olarak paket:

{ "name": "proje-a", "sürüm": "1.0.0", "bağımlılıklar": { "utils": "çalışma alanı:^" } }

"çalışma alanı:^"sözdizimi Yarn'a yerel sürümünü kullanmasını söyler.araçlarpaket. Sonra koşiplikbağımlılıkları güncellemek için kök dizinde. Şimdi,proje-aişlevleri içe aktarabilir ve kullanabiliraraçlardiğer bağımlılıklar gibi paket.

İplik Çalışma Alanlarını Kullanmanın Faydaları

Projeler arasındaki bağımlılıkları paylaşmak için Yarn çalışma alanlarını kullanmanın birçok avantajı vardır. Öncelikle daha önce de belirttiğim gibi her paylaşılan bağımlılığın yalnızca bir kopyasını bulundurarak disk alanından tasarruf sağlar. Çakışan bağımlılıkların olduğu çok sayıda proje üzerinde çalışıyorsanız bu özellikle önemlidir.

İkincisi, yükseltme işlemini basitleştirir. Paylaşılan bağımlılığın yeni bir sürümü mevcut olduğunda, bunu yalnızca kök düzeyinde güncellemeniz gerekir; tüm projeler otomatik olarak yeni sürümü kullanır. Bu, aynı paketin farklı sürümlerini kullanan farklı projelere sahip olma riskini azaltır ve bu da hata ayıklaması zor sorunlara yol açabilir.

PBT Elastic Dope Dyed YarnPolybutylene Terephthalate Recycle Yarn

Ayrıca Yarn çalışma alanları geliştirme hızını artırır. Tüm paketler tek bir depoda olduğundan, birden fazla projede aynı anda değişiklik yapmak daha kolaydır. Ayrıca komut dosyalarını tüm projelerde aynı anda çalıştırabilirsiniz; bu da test etme ve oluşturma gibi görevleri çok daha verimli hale getirir.

İplik Ürünlerimizden Bazıları

İplik tedarikçisi olarak geniş bir yelpazede yüksek kaliteli iplik ürünleri sunuyoruz. Örneğin, elimizdePBT Elastik Dope Boyalı İplik. Bu iplik mükemmel esnekliği ve renk haslığıyla bilinir. Esneklik ve dayanıklılığın gerekli olduğu çeşitli tekstil uygulamaları için mükemmeldir.

Harika bir ürünümüz dahaYünlü Core Spun İplik 28S/2. Yünün yumuşaklığını diğer liflerin gücüyle birleştirerek yüksek kaliteli giysilerin örülmesi ve dokunması için uygun hale getirir.

Biz de sağlıyoruzPolibütilen Tereftalat Geri Dönüşüm İpliği. Bu, hala yüksek performansı koruyan çevre dostu bir seçenektir. Çevreye duyarlı üreticiler için mükemmel bir seçimdir.

Çözüm

Sonuç olarak Yarn çalışma alanları, projeler arasındaki bağımlılıkları paylaşmak için güçlü bir araçtır. Bir monorepoda birden fazla projenin yönetimini basitleştirir, disk alanından tasarruf sağlar ve geliştirme verimliliğini artırır. Şu anda birden fazla projede bağımlılık yönetimiyle mücadele ediyorsanız Yarn çalışma alanlarını denemenizi şiddetle tavsiye ederim.

İplik ürünlerimizden herhangi biriyle ilgileniyorsanız veya İplik çalışma alanlarıyla ilgili herhangi bir sorunuz varsa, bizimle iletişime geçmekten çekinmeyin. İhtiyaçlarınızı tartışmaktan ve sizin için en iyi çözümleri bulmaktan her zaman mutluluk duyarız.

Referanslar

  • İplik Dokümantasyonu
  • Monorepo ve bağımlılık yönetimi hakkında çeşitli çevrimiçi kaynaklar