A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
Előző változat mindkét oldalon Előző változat | |||
oktatas:web:nodejs:npm_projekt [2021/10/20 22:11] admin eltávolítva |
— (aktuális) | ||
---|---|---|---|
Sor 1: | Sor 1: | ||
- | [[oktatas:web:nodejs|< NodeJS]] | ||
- | ====== Npm projekt ====== | ||
- | * **Szerző:** Sallai András | ||
- | * Copyright (c) Sallai András, 2019, 2021 | ||
- | * [[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: | ||
- | <code> | ||
- | mkdir app01 | ||
- | cd app01 | ||
- | npm init -y | ||
- | </code> | ||
- | |||
- | 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: | ||
- | <code javascript package.json> | ||
- | { | ||
- | "name": "app01", | ||
- | "version": "1.0.0", | ||
- | "description": "", | ||
- | "main": "index.js", | ||
- | "scripts": { | ||
- | "test": "echo \"Error: no test specified\" && exit 1" | ||
- | }, | ||
- | "keywords": [], | ||
- | "author": "", | ||
- | "license": "ISC" | ||
- | } | ||
- | </code> | ||
- | |||
- | 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 háromféle függőséget, illetve csomagot telepíthetünk: | ||
- | |||
- | * a projekttől külön, globálisan telepítve | ||
- | * a projekten belül: | ||
- | * fejlesztési időben a projektnek függősége | ||
- | * terjesztési időben a projektnek függősége | ||
- | |||
- | A projekttől külön, globálisan telepített csomag általában egy parancs, 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álhatunk. | ||
- | |||
- | |||
- | 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. | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | Utasítások: | ||
- | |||
- | * npm install <nowiki>--save</nowiki> <csomagnév> | ||
- | * csomag telepítése helyben | ||
- | * npm install -g <csomagnév> | ||
- | * csomag telepítése globálisan | ||
- | * rendszergazdai jogok szükségesek (SUDO) | ||
- | * npm install <nowiki>--save-dev</nowiki> <csomagnév> | ||
- | * 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 egy 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. | ||
- | |||
- | |||
- | |||
- | ===== 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) | ||
- | |||
- | |||