[[oktatas:web:nodejs|< Node.js]]
====== Node.js projekt ======
* **Szerző:** Sallai András
* Copyright (c) 2019, Sallai András
* Szerkesztve: 2019, 2021
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]]
* Web: https://szit.hu
===== Node.js projekt =====
Az npm csomagkezelő Node.js projekt létrehozására is használható,
ami a valójában egy package.json fájl létrehozása.
A package.json egy "manifest" fájl, amely tartalmazza a projekt
nevét, verzióját, egy JavaScrit belépési pontot, feladatokat (scriptek),
a projekt kulcsszavait, tulajdonos nevét, a projekt licencét és a projekt
függőségeit.
Gyakorlásként, hozzunk létre egy app01 nevű projektet:
mkdir app01
cd app01
npm init -y
Az npm init egy interaktív program, amely bekéri a projektünk adatait.
Ha futtatáskor megadunk egy -y kapcsolót is, akkor kérdés nélkül létrejön
egy alapértelmezett package.json fájl:
npm init -y
A létrejött a package.json fájl a következő tartalommal:
{
"name": "app01",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
A fájlban javíthatjuk az adatokat. Létrejött egy NodejJS projekt, amelyet
folytathatunk, például csomagok telepítésével.
Ha az "npm init -y" parancsot "-y" nélkül hajtjuk végre, a parancs interaktívan
bekéri a projekt adatait.
===== Függőségek telepítése =====
Egy projekthez kétféle függőséget, illetve csomagot telepíthetünk:
* fejlesztési időben a projekt függősége
* terjesztési időben a projekt függősége
A fejlesztési időben telepített csomagok részt vesznek a fejlesztésben, de a projekt terjesztett változatában nem fognak szerepelni.
A terjesztéshez telepített függőségek fejlesztési és produktum közreadása során is a projekt részei maradnak.
A projekttől külön, globálisan telepíthetünk csomagokat, ezek nem jelennek meg a package.json fájlban.
Viszont ezek a csomagok általában valamilyen parancsot tartalmaznak, amit később
más projekteknél is használhatunk. Ilyen lehet például a gulp-cli csomag, aminek hatására
kapunk egy gulp parancsot, és azt későbbi projekteknél is használhatjuk.
Utasítások:
* npm install --save
* csomag telepítése helyben
* npm install --global
* csomag telepítése globálisan
* rendszergazdai jogok
* Linuxon szükségesek (SUDO)
* Windowson nem, mivel a profilba telepszenek
* npm install --save-dev
* csak fejlesztési időben szükséges csomag
==== Gyakorlás ====
Hozzunk létre egy projektet:
mkdir app01
cd app01
npm init -y
Telepítsük a gulp-cli csomagot:
npm install --global gulp-cli
A telepítés után kapunk egy gulp parancsot, ellenőrizzük:
gulp --version
Telepítsük a bootstrap csomagot terjesztéshez:
npm install --save bootstrap
A projekt könyvtárában létrejön egy node_modules nevű könyvtár, ahol
megjelenik a bootstrap függőségeivel együtt.
Telepítsük a lite-server csomagot, fejlesztéshez:
npm install --save-dev lite-server
===== package-lock.json =====
A package-lock.json fájl automatikusan generálódik,
amikor az npm módosítja node_modules fát, vagy
a package.json fájlt. Leírja a telepített fát,
amely alapján később bármikor azonos fa létrehozható,
függetlenül a függőségi frissítésektől.
===== Projekt használatbavétele =====
Csak fejlesztői függőségek telepítése:
npm install --only=dev
Ha nem akarunk fejleszteni, csak használni:
npm install --only=production
npm install --production
Ha szeretnénk fejleszteni és a termékként is látni:
npm install
===== Forrás =====
* https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/development_environment (2019)
* https://docs.npmjs.com/cli/v7/configuring-npm/package-lock-json (2021)