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 Következő változat | Előző változat | ||
oktatas:web:nodejs:npm_projekt [2021/10/16 09:25] admin [Csak npm] |
oktatas:web:nodejs:npm_projekt [2021/10/20 22:11] admin eltávolítva |
||
---|---|---|---|
Sor 6: | Sor 6: | ||
* Web: https://szit.hu | * Web: https://szit.hu | ||
- | ===== Csak npm ===== | + | ===== NodeJS projekt ===== |
- | + | Az npm csomagkezelő NodeJS projekt létrehozására is használható, | |
- | Utasítások: | + | ami a valójában egy package.json fájl létrehozása. |
- | * npm init | + | A package.json egy "manifest" fájl, amely tartalmazza a projekt |
- | * package.json manifest fájl készítése, függőségek listája | + | nevét, verzióját, egy JavaScrit belépési pontot, feladatokat (scriptek), |
- | * npm install <nowiki>--save</nowiki> <csomagnév> | + | a projekt kulcsszavait, tulajdonos nevét, a projekt licencét és a projekt |
- | * csomag telepítése helyben | + | függőségeit. |
- | * 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 | + | |
Sor 24: | Sor 19: | ||
mkdir app01 | mkdir app01 | ||
cd app01 | cd app01 | ||
- | npm init | + | npm init -y |
</code> | </code> | ||
Sor 52: | Sor 47: | ||
folytathatunk, például csomagok telepítésével. | 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. | ||
- | ===== Express projekt ===== | ||
- | <code> | ||
- | mkdir projekt01 | ||
- | cd projekt01 | ||
- | npm init | ||
- | </code> | ||
- | Az npm init lehetséges kimenete: | + | ===== Függőségek telepítése ===== |
- | <code> | + | |
- | $ npm init | + | |
- | This utility will walk you through creating a package.json file. | + | |
- | It only covers the most common items, and tries to guess sensible defaults. | + | |
- | See `npm help json` for definitive documentation on these fields | ||
- | and exactly what they do. | ||
- | Use `npm install <pkg>` afterwards to install a package and | + | Egy projekthez háromféle függőséget, illetve csomagot telepíthetünk: |
- | save it as a dependency in the package.json file. | + | |
- | Press ^C at any time to quit. | + | * a projekttől külön, globálisan telepítve |
- | package name: (projekt01) | + | * a projekten belül: |
- | version: (1.0.0) | + | * fejlesztési időben a projektnek függősége |
- | description: teszt | + | * terjesztési időben a projektnek függősége |
- | entry point: (index.js) | + | |
- | test command: | + | |
- | git repository: | + | |
- | keywords: | + | |
- | author: Nagy János | + | |
- | license: (ISC) MIT | + | |
- | About to write to /home/janos/projekt01/package.json: | + | |
- | { | + | A projekttől külön, globálisan telepített csomag általában egy parancs, amit később |
- | "name": "projekt01", | + | más projekteknél is használhatunk. Ilyen lehet például a gulp-cli csomag, aminek hatására |
- | "version": "1.0.0", | + | kapunk egy gulp parancsot, és azt későbbi projekteknél is használhatunk. |
- | "description": "teszt", | + | |
- | "main": "index.js", | + | |
- | "scripts": { | + | |
- | "test": "echo \"Error: no test specified\" && exit 1" | + | |
- | }, | + | |
- | "author": "Nagy János", | + | |
- | "license": "MIT" | + | |
- | } | + | |
- | Is this OK? (yes) yes | + | A fejlesztési időben telepített csomagok részt vesznek a fejlesztésben, de a projekt terjesztett változatában nem fognak szerepelni. |
- | </code> | + | |
+ | A terjesztéshez telepített függőségek fejlesztési és produktum közreadása során is a projekt részei maradnak. | ||
- | Telepítsük az express csomagot: | ||
- | npm install express | ||
- | Lehetséges kimenet: | ||
- | <code> | ||
- | npm install express | ||
- | npm notice created a lockfile as package-lock.json. You should commit this file. | ||
- | npm WARN projekt01@1.0.0 No repository field. | ||
- | + express@4.16.4 | ||
- | added 48 packages from 36 contributors and audited 121 packages in 3.732s | ||
- | found 0 vulnerabilities | ||
- | </code> | ||
- | Írjuk meg a programunkat: | + | Utasítások: |
- | <code javascript index.js> | + | |
- | const express = require('express') | + | |
- | const app = express(); | + | |
- | app.get('/', (req, res) => { | + | * npm install <nowiki>--save</nowiki> <csomagnév> |
- | res.send('Helló Világ!') | + | * 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 | ||
- | app.listen(8000, () => { | ||
- | console.log('Példa alkalmazás port 8000') | ||
- | }); | ||
- | </code> | ||
+ | ==== Gyakorlás ==== | ||
- | <code> | + | Hozzunk létre egy projektet: |
- | $ node index.js | + | mkdir app01 |
- | Példa alkalmazás port 8000 | + | cd app01 |
- | </code> | + | 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 | ||
- | Böngészőbe írjuk be: | ||
- | http://192.168.5.100:8000/ | ||
===== package-lock.json ===== | ===== package-lock.json ===== |