CodeBlanks Logo Icon CodeBlanks

devDependencies

devDependencies ile geliştirme paketlerini öğrenirsin.

devDependencies

devDependencies, yalnız geliştirme sırasında gerekli paketler içindir: test çerçeveleri, linter'lar, derleme araçları. Üretimde çalışırken bu paketlere gerek yoktur.

Örneğin jest bir test çerçevesidir; üretimde test koşulmaz. Bu yüzden npm install --save-dev jest ile devDependencies'e eklenir. express ise üretimde de çalışır; bu yüzden dependencies'e konur. npm install --production ile yükleme yapınca devDependencies atlanır; bu da üretim imajını küçük tutar. Böylece paketler amaçlarına göre ayrılır ve dağıtım optimize edilir.

--save-dev bayrağı

Bir paketi devDependencies'e eklemenin yolu --save-dev bayrağıdır. Kısaltması -D'dir. npm install --save-dev jest yazınca jest hem indirilir hem package.json'daki devDependencies bölümüne eklenir.

Bayrak vermeden npm install jest yazarsan paket dependencies'e eklenir; yani üretimde de yüklenecek paketlerden sayılır. Bu, test çerçeveleri için yanlış bir yerdir. Hangi bölümün uygun olduğunu düşünmek önemlidir: üretimde gerek var mı? Cevap hayırsa --save-dev kullan. Böylece npm install --production bu paketi atlar.

Uygulama jest'in devDependencies'te olup olmadığını yazdır

content adında bir dize tanımla; değeri {"dependencies":{"express":"^4.18.0"},"devDependencies":{"jest":"^29.0.0"}} olsun. JSON.parse ile nesneye çevir. "jest" in pkg.devDependencies sonucunu console.log ile yazdır.

Başlangıç kodu

index.js
// package.json içeriğini tanımla (dependencies ve devDependencies ile)
// JSON.parse ile nesneye çevir
// jest'in devDependencies'te olup olmadığını yazdır
// buraya yaz

Örnek çözüm

index.js
const content = '{"dependencies":{"express":"^4.18.0"},"devDependencies":{"jest":"^29.0.0"}}';
const pkg = JSON.parse(content);
console.log("jest" in pkg.devDependencies);

Beklenen çıktı

true

Soru ve cevaplar

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

1 Paketi bölümüne eşle

Kavram Anlamı
jest Test çerçevesi (dev)
express Web çerçevesi (prod)
eslint Kod denetleyici (dev)
lodash Yardımcı kütüphane (prod)

2 Hangisi devDependencies'e ait olmalı?

index.js
devDependencies
  • mongoose (veritabanı)
  • express (web çerçevesi)
  • lodash (yardımcı)
  • jest (test çerçevesi) Doğru cevap

Açıklama: Test çerçeveleri yalnız geliştirmede gerekir.

3 devDependencies'e ekle

Soru
npm install ____ jest
Cevap
npm install --save-dev jest

Açıklama: --save-dev ile jest devDependencies'e eklenir.

Orta seviye bölümündeki tüm dersler