Bağımlılık türleri

Bağımlılıklar birçok farklı amaca hizmet eder. Bazı bağımlılıklar projenizi oluşturmak için gereklidir, bazıları ise programınızı çalıştırırken gereklidir. Böyle var olabilir bağımlılıklar farklı bir dizi vardır (örneğin, bağımlılıklar, devDependencies ve peerDependencies).

Sizin package.json dosyanız aşağıdaki tüm bağımlılıkları içerir:

{
  "name": "my-project",
  "dependencies": {
    "package-a": "^1.0.0"
  },
  "devDependencies": {
    "package-b": "^1.2.1"
  },
  "peerDependencies": {
    "package-c": "^2.5.4"
  },
  "optionalDependencies": {
    "package-d": "^3.1.0"
  }
}

Birçok insan sadece dependencies‘e ve devDependencies‘e sahip, ama bunların her ikisi de anlamak için önemli.

dependencies

Bunlar normal bağımlılıklarınız veya kodunuzu çalıştırırken ihtiyaç duyduğunuz bağımlılıklarınızdır (örn. Tepki veya değiştirilememek).

devDependecies

Bunlar geliştirme bağımlılıklarınız. İhtiyacınız olan bağımlılıklar gelişim akışını gösterin, ancak kodunuzu çalıştırırken değil (ör. Babel veya Akış).

peerDependencies

Akran bağımlılıkları, kendi paketinizi yayınlarsanız ortaya çıkacak özel bir bağımlılık türüdür.

Bir bağımlı bağımlılığa sahip olmak paketinizin bağımlılık gerektirmesi anlamına gelir; paketinizi kuran kişi ile aynı bağımlılık. Bu, react-dom‘nın tek bir kopyasına ihtiyaç duyan ve ayrıca onu indiren insan tarafından kullanılan react gibi dosyalar için kullanışlıdır.

optionalDependencies

İsteğe bağlı bağımlılıklar sadece: isteğe bağlı. Yarn takmazlarsa yine de yükleme işleminin başarılı olduğunu söylüyor.

Bu her makinede her daim çalışmayan destek dosyaları için kullanışlıdır ve yüklenmedikleri durumlar için ikinci bir planınız olur (örneğin Watchman).

bundledDependencies

Paketi yayınlarken donanımlanacak paketlerin isim sırası.

Paketlenmiş bağımlılıklar projenizin içinde olmalıdır. İşlevsellik basitçe normal bağımlılıklarla aynıdır. Aynı zamanda yarn pack çalışırken de paketlenecekler.

Normal destek dosyaları genelde npm kayıt defterinden yüklenir. Donanımlı destek dosyaları, normal destek dosyalarının yeterli olmadığı durumlarda kullanışlıdır:

  • Npm kayıt defterinde bulunmayan veya kendiniz değiştirdiğiniz birinin kütüphanesini kullanmak istiyorsanız.
  • Kendi projenizi bir modül olarak tekrar kullanmak isterseniz.
  • Modülünüzle bazı dosyaları dağıtmak istediğinizde.