Bağımlılıklar etkili kod yeniden kullanımını mümkün kılar. Düğüm projelerinizde bunları nasıl yöneteceğinizi bildiğinizden emin olun.
Bağımlılık, bir projenin düzgün çalışması için ihtiyaç duyduğu bir kod parçasıdır (kitaplık, modül veya paket).
Node.js'de bağımlılıklar ve devDependencies, projenizin bağımlılıklarını yönetmek için package.json dosyanızda tanımlayabileceğiniz paket kategorileridir. Farklılıklarını keşfedin ve bunları projelerinizde nasıl kullanacağınızı öğrenin.
Bir npm Projesinde Düzenli Bağımlılıklar
Normal bağımlılıklar veya basitçe bağımlılıklar, uygulamanızın çalışma zamanında ve üretim ortamlarında amaçlandığı gibi çalışması için ihtiyaç duyduğu paketlerdir.
Bağımlılıklar şunları içerebilir:
- Lodash gibi önceden oluşturulmuş işlevler sunan harici kitaplıklar.
- Express veya React gibi uygulama oluşturmak için bir temel veya yapı sağlayan çerçeveler.
- MongoDB veya sqlite3 gibi veritabanı sürücüleri.
- Axios veya Socket.io gibi ağla ilgili görevlere yardımcı olan paketler.
Örneğin, bir Express.js ile CRUD API'si, ifade etmek bağımlılıklarınızdan biri olacak çünkü sunucunuzun çalışması için buna ihtiyacı var.
Çalışma zamanı bağımlılıklarını kurmak için, aşağıdaki gibi bir paket yöneticisi kullanabilirsiniz. npm, Düğüm Paket Yöneticisiveya İplik.
Bağımlılıklar, bir package.json dosyasında bağımlılıklar nesnesi altında bulunur. Bağımlılıklar nesnesi, paketlerin adlarını ve sürümlerini saklar.
NPM kullanarak bir paketi bağımlılık olarak kurmak için aşağıdaki komutu çalıştırın:
npm kurulum
Yukarıdaki komut paketi kurar ve projenizin bir bağımlılığı olarak kaydeder. paket.json:
// paket.json
"bağımlılıklar": {
"paket ismi": "^ paket sürümü",
}
Web tabanlı bir depodan bir projeyi klonladığınızda, aşağıdaki komutu çalıştırarak bağımlılıkları kurabilirsiniz:
npm kurulum
Yukarıdaki komutu çalıştırdığınızda, paket yöneticiniz şunu okur: paket.json paket kayıt defterinden belirtilen bağımlılıkları ve devDependencies dosyasını kurar ve yükler.
Geliştirme Bağımlılıkları ve Nasıl Kullanılacağı
Geliştirme bağımlılıkları veya devDepenendencies, uygulamanızın yalnızca geliştirme sürecinde ihtiyaç duyduğu paketlerdir. Başka bir deyişle, üretimde onlara ihtiyaç yoktur.
devBağımlılıklar şunları içerebilir:
- Test çerçeveleriJest veya Mocha gibi.
- Chai gibi Test Koşucuları.
- Eslint gibi linterler ve biçimlendiriciler.
- Swagger gibi dokümantasyon araçları.
DevDepenedency'nin yaygın bir örneği, Nodemon paketi, komut dosyalarınızdaki değişiklikleri algıladığında sunucunuzu yeniden başlatır.
DevDependencies'i altında tanımlayabilirsiniz. devBağımlılıklar bir nesne paket.json dosya. Bu nesne, paketlerin adlarını ve sürümlerini saklar.
Bu komutu çalıştırarak bir paketi devDependency olarak kurabilirsiniz:
npm kurulum --save-dev
Alternatif olarak, bu komutu çalıştırarak bir paketi devDependency olarak kurabilirsiniz:
npm kurulum -D
Yukarıdaki komut, paketi bilgisayarınıza kurar ve kaydeder. paket.json dosya, şöyle:
// paket.json
"geliştirme Bağımlılıkları": {
"paket ismi": "^ paket sürümü"
}
Web tabanlı bir depodan bir projeyi klonladığınızda, npm kurulum komutu ayrıca devDependencies'i kuracaktır.
Ancak, komut ile çalıştırıldığında üretme flag yalnızca bağımlılıkları yükler.
Örneğin:
npm kurulum --üretim
Yukarıdaki komutu çalıştırdığınızda, paket yöneticiniz şunu okur: paket.json dosya ve uygulamanızın bağımlılıklarını paket kayıt defterinden yükler.
Alternatif olarak, NODE_ENV değişken "üretme” aynı sonuçları elde etmek için.
Diğer Bağımlılık Türleri
Node.js, bağımlılıklar ve devDependencies'in yanı sıra paketleri şu şekilde sınıflandırır: eş bağımlılıkları Ve isteğe bağlıBağımlılıklar.
Akran Bağımlılıkları
Eş bağımlılıklar, bir paketin, onu kullanan uygulamada başka bir paketin belirli bir sürümünün veya uyumlu bir sürümünün bulunmasını beklediğinde kullandığı bağımlılıklardır.
Eş bağımlılıkların amacı, bir paketin bağımlılıklarıyla doğru şekilde çalışmasını sağlamak ve çakışmaları veya uyumluluk sorunlarını önlemektir.
v7'den daha düşük npm sürümleri için eş bağımlılıkları otomatik olarak yüklenmez. Bunun yerine paketi içeren kod, onu bir bağımlılık olarak içermelidir. Paket içermiyorsa, npm bir uyarı verir.
Onlar altında var eş bağımlılıkları package.json dosyasındaki nesne:
"eş bağımlılıkları": {
"paket": "^ sürüm"
}
İsteğe Bağlı Bağımlılıklar
İsteğe bağlı bağımlılıklar, bir projenin temel işlevleri için gerekli olmayan ancak varsa yeteneklerini geliştirebilen paketlerdir.
Projenin düzgün çalışması için isteğe bağlı bağımlılıklar gerekli olmadığından kurulum sırasında bunları atlayabilirsiniz.
Aşağıdaki komutu çalıştırmak, yükleme işlemi sırasında isteğe bağlı bağımlılıkları atlayacaktır:
npm kurulum --omit=isteğe bağlı
Onlar altında var isteğe bağlıBağımlılıklar package.json dosyasındaki nesne:
"isteğe bağlı Bağımlılıklar": {
"paket": "^ sürüm"
}
Kategoriler Bağımlılıklarınızı Yönetmeyi Kolaylaştırır
Bağımlılıkları etkili bir şekilde anlamak, yönetmek ve kategorize etmek, üretim için gerekli olan paketler ile yalnızca geliştirme sırasında ihtiyaç duyulanlar arasında net bir ayrım yapılmasına yardımcı olur.
Bu ayrım, projenizin verimli bağımlılık yönetimine, uygun gruplandırmaya ve kolaylaştırılmış dağıtımına yardımcı olur.