Junior
Czym jest plik package.json w Node.js i jaką rolę odgrywa w projekcie?
sobes.tech AI
Odpowiedź od AI
package.json jest manifestem projektu Node.js zawierającym metadane niezbędne do zarządzania zależnościami, budowania i uruchamiania aplikacji.
Główne pola i ich rola:
name: Nazwa projektu.version: Aktualna wersja projektu.description: Krótki opis projektu.keywords: Tablica słów kluczowych do opisu projektu.homepage: URL strony głównej projektu.bugs: Obiekt z informacjami o śledzeniu błędów.license: Typ licencji projektu.author: Informacje o autorze projektu.contributors: Lista współtwórców.files: Tablica plików dołączanych przy publikacji pakietu.main: Punkt wejścia do aplikacji (główny plik).browser: Punkt wejścia dla części klienta (jeśli dotyczy).bin: Komendy dostępne globalnie po instalacji pakietu.man: Ścieżki do plików stron man.directories: Obiekt z ścieżkami do katalogów projektu (np.lib,bin,man,doc).repository: Obiekt z informacjami o repozytorium kodu źródłowego.scripts: Obiekt zawierający skrypty, które można uruchamiać za pomocąnpm.config: Obiekt dla ustawień specyficznych dla skryptów.dependencies: Obiekt zawierający zależności potrzebne do działania projektu w produkcji.devDependencies: Obiekt zawierający zależności potrzebne tylko do rozwoju i testowania.peerDependencies: Zależności, od których użytkownik pakietu również musi zależeć.bundledDependencies: Tablica nazw zależności, które mają być spakowane z pakietem.optionalDependencies: Zależności, które mogą być zainstalowane, ale ich brak nie spowoduje błędu.engines: Obiekt wskazujący wersje Node.js i npm obsługiwane przez projekt.os: Tablica systemów operacyjnych, na których działa projekt.cpu: Tablica architektur CPU, na których działa projekt.preferGlobal: Wartość boolean wskazująca, czy pakiet powinien być instalowany globalnie.private: Wartość boolean wskazująca, czy pakiet jest prywatny i nie powinien być publikowany w npm.publishConfig: Ustawienia do publikacji w npm.
{
"name": "my-node-app", // Nazwa projektu
"version": "1.0.0", // Wersja
"description": "Prosta aplikacja Node.js",
"main": "index.js", // Punkt wejścia
"scripts": {
"start": "node index.js", // Skrypt uruchomieniowy
"test": "echo \"Error: no test specified\" && exit 1" // Skrypt testowy
},
"keywords": [
"node",
"przykład"
],
"author": "Twoje Imię",
"license": "ISC",
"dependencies": { // Zależności produkcyjne
"express": "^4.18.2"
},
"devDependencies": { // Zależności deweloperskie
"nodemon": "^2.0.20"
}
}
package.json odgrywa kluczową rolę w zarządzaniu zależnościami (instalacja, aktualizacja, usuwanie), definiowaniu skryptów do automatyzacji zadań (uruchomienie, testowanie, budowa), dostarczaniu metadanych o projekcie dla npm i innych narzędzi, a także zapewnianiu powtarzalności procesu budowania projektu.