devDependencies
- Node.js kursu
- Orta seviye
- Ders 72/116
- 5 dk
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
// 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
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ı?
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
npm install ____ jest
npm install --save-dev jest
Açıklama: --save-dev ile jest devDependencies'e eklenir.