[[oktatas:web:nodejs|< NodeJS]] ====== NodeJS projekt ====== * **Szerző:** Sallai András * Copyright (c) Sallai András, 2019, 2021 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]] * Web: https://szit.hu ===== NodeJS projekt ===== Az npm csomagkezelő NodeJS 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)