Sobes.tech
Junior

Kas ir package.json fails Node.js un kādu lomu tas spēlē projektā?

sobes.tech AI

Atbilde no AI

package.json ir Node.js projekta manifestu, kas satur meta-datus, kas ir nepieciešams, lai pārvaldītu atkarības, būvētu un palaistu lietotni.

Galvenie lauki un to loma:

  1. name: Projekta nosaukums.
  2. version: Pašreizējā versija.
  3. description: Īss apraksts.
  4. keywords: Atslēgvārdu masīvs projekta aprakstam.
  5. homepage: Projekta galvenās lapas URL.
  6. bugs: Objekts ar informāciju par kļūdu izsekošanas rīku.
  7. license: Licences tips.
  8. author: Autora informācija.
  9. contributors: Sadarbnieku saraksts.
  10. files: Failu masīvs, kas iekļauts publicētajā paketē.
  11. main: Ieejas punkts lietotnē (galvenais fails).
  12. browser: Ieejas punkts klienta daļai (ja piemērojams).
  13. bin: Komandas, kas jābūt pieejamām globāli instalējot paketi.
  14. man: Ceļi uz man lapām.
  15. directories: Projekta direktoriju ceļi.
  16. repository: Informācija par koda glabātuvi.
  17. scripts: Objekts ar skriptiem, kurus var izpildīt ar npm.
  18. config: Objekts ar konfigurācijām skriptiem.
  19. dependencies: Objekts ar nepieciešamajām atkarībām produkcijas režīmā.
  20. devDependencies: Objekts ar atkarībām tikai izstrādes un testēšanas vajadzībām.
  21. peerDependencies: Atkarības, no kurām ir jāatkarīgs arī pakotnes lietotājs.
  22. bundledDependencies: Masīvs ar atkarību nosaukumiem, kas jāiekļauj paketē.
  23. optionalDependencies: Izvēles atkarības, kuras var instalēt, bet to neesamība nesagādās kļūdu.
  24. engines: Objekts ar Node.js un npm versijām, kuras atbalsta projekts.
  25. os: Operētājsistēmu masīvs, kurās darbojas projekts.
  26. cpu: CPU arhitektūru masīvs.
  27. preferGlobal: Loģiska vērtība, kas norāda, vai pakotne jāinstalē globāli.
  28. private: Loģiska vērtība, kas norāda, vai pakotne ir privāta un nedrīkst tikt publicēta npm.
  29. publishConfig: Iestatījumi pakotnes publicēšanai npm.
{
  "name": "my-node-app", // Projekta nosaukums
  "version": "1.0.0", // Versija
  "description": "Vienkārša Node.js lietotne",
  "main": "index.js", // Ieejas punkts
  "scripts": {
    "start": "node index.js", // Sākuma skripts
    "test": "echo \"Kļūda: nav norādīts tests\" && exit 1" // Testa skripts
  },
  "keywords": [
    "node",
    "piemērs"
  ],
  "author": "Jūsu vārds",
  "license": "ISC",
  "dependencies": { // Produkcijas atkarības
    "express": "^4.18.2"
  },
  "devDependencies": { // Izstrādes atkarības
    "nodemon": "^2.0.20"
  }
}

package.json spēlē būtisku lomu atkarību pārvaldībā (instalēšana, atjaunināšana, noņemšana), automatizēto uzdevumu skriptu definēšanā (sākšana, testēšana, būvēšana), projekta metadatu nodrošināšanā npm un citu rīku vajadzībām, kā arī nodrošinot projekta būvniecības atkārtojamību.