Sobes.tech
Junior

Node.js-də package.json faylı nədir və layihədə hansı rolu oynayır?

sobes.tech Süni İntellekt

AI-dan cavab

package.json Node.js layihəsinin manifestidir və bağımlılıqları idarə etmək, tətbiqi qurmaq və işlətmək üçün lazım olan meta məlumatları ehtiva edir.

Əsas sahələr və onların rolu:

  1. name: Layihənin adı.
  2. version: Layihənin hazırkı versiyası.
  3. description: Layihənin qısa təsviri.
  4. keywords: Layihəni təsvir edən açar sözlər massiv.
  5. homepage: Layihənin ana səhifəsinin URL-si.
  6. bugs: Xətaların izlənməsi üçün məlumatlar obyekti.
  7. license: Layihənin lisenziya növü.
  8. author: Layihənin müəllifi haqqında məlumat.
  9. contributors: Töhfə verənlərin siyahısı.
  10. files: Paket yayımlanarkən daxil ediləcək faylların siyahısı.
  11. main: Tətbiqin giriş nöqtəsi (əsas fayl).
  12. browser: Müştəri tərəfi üçün giriş nöqtəsi (əgər tətbiq olunursa).
  13. bin: Paket quraşdırıldıqda qlobal olaraq əlçatan olmalı olan komandalar.
  14. man: Man səhifələri fayllarının yolları.
  15. directories: Layihə qovluqlarına yollar obyekti (məsələn, lib, bin, man, doc).
  16. repository: Mənbə kodu deposu haqqında məlumatlar obyekti.
  17. scripts: npm ilə işlədilə bilən skriptlər obyekti.
  18. config: Skriptlər üçün xüsusi tənzimləmələr obyekti.
  19. dependencies: İstehsal üçün lazım olan bağımlılıqlar obyekti.
  20. devDependencies: Yalnız inkişaf və test üçün lazım olan bağımlılıqlar obyekti.
  21. peerDependencies: İstifadəçinin də bağımlı olması lazım olan bağımlılıqlar.
  22. bundledDependencies: Paketlə birlikdə paketlənməli olan bağımlılıqların adları massiv.
  23. optionalDependencies: Quraşdırıla bilən, lakin olmaması quraşdırma xətası yaratmayan bağımlılıqlar.
  24. engines: Layihənin dəstəklədiyi Node.js və npm versiyaları.
  25. os: Layihənin işlədiyi əməliyyat sistemləri.
  26. cpu: Layihənin işlədiyi CPU arxitekturaları.
  27. preferGlobal: Paket qlobal olaraq quraşdırılmalı olub-olmadığını göstərən boolean.
  28. private: Paket özəl olub-olmadığını və npm-də yayımlanmayacağını göstərən boolean.
  29. publishConfig: npm-də yayımlama üçün tənzimləmələr.
{
  "name": "my-node-app", // Layihənin adı
  "version": "1.0.0", // Versiya
  "description": "Sadə Node.js tətbiqi",
  "main": "index.js", // Giriş nöqtəsi
  "scripts": {
    "start": "node index.js", // İşə salma skripti
    "test": "echo \"Xəta: test göstərilməyib\" && exit 1" // Test skripti
  },
  "keywords": [
    "node",
    "nümunə"
  ],
  "author": "Sizin Adınız",
  "license": "ISC",
  "dependencies": { // İstehsal üçün bağımlılıqlar
    "express": "^4.18.2"
  },
  "devDependencies": { // İnkişaf üçün bağımlılıqlar
    "nodemon": "^2.0.20"
  }
}

package.json bağımlılıqları idarə etməkdə (quraşdırma, yeniləmə, silmə), avtomatlaşdırılmış tapşırıqlar üçün skriptləri təyin etməkdə (başlatma, test, qurma), layihə haqqında metadataları npm və digər alətlər üçün təmin etməkdə və layihənin qurulmasının təkrarlanabilirliyini təmin etməkdə əsas rol oynayır.