Tartalomjegyzék

< Node.js

Npm

Az npmről

Az npm a Node.js csomag- és projektkezelője.

Telepítés

Windows

A Node.js tartalmazza az npm programot, így nincs teendő.

Ellenőrizzük:

npm --version

Debian csomagból

apt install npm

Legújabb telepítése

Ha nincs telepítve a curl, telepítsük:

apt install curl
curl -fsSL https://deb.nodesource.com/setup_16.x | bash -
apt install -y nodejs

Ha így telepítjük a Node.js csomagot, az npm parancsot nem szükséges külön telepíteni.

node --version
npm --version

Segítség

npm --help

Csomagok tárolója

A csomagtárolóhoz tartozik egy webhely is:

A csomagok kereshetők, áttekinthetők.

Gyakorlat

Látogassuk meg a weboldalt, keressünk titkosító csomagokat. Használjuk kereséshez a crypto szót.

A telepített csomagok megjelenítése

npm list

Ha még egyetlen csomagot sem telepítettünk, akkor kimenet ehhez hasonló lehet:

/root
└── (empty)

Aliasok:

npm ls
npm la
npm ll

Csomagok kezelése

Egy Node.js projektben használhatunk külső csomagokat, illetve modulokat. Ha külső csomagot használunk az alkalmazásunkban, a projektünk függeni fog ettől a csomagtól. Egy csomagot két módon telepíthetünk: Globálisan, az adott számítógépre, ahol minden alkalmazás használhatja, és telepíthető csak az adott alkalmazás számára helyben.

Ha helyben telepítünk egy csomagot, a telepítése során bejegyzésre kerül a package.json fájlba.

A bejegyzés a dependencies és devDependencies kulcsok alatt jelenik meg.

Telepítés

A példa kedvéért telepítsük a generator-angular csomagot:

npm install generator-angular

A csomag alapértelmezetten helyben telepszik, a dependencies bejegyzésekhez.

A telepített csomag neve bekerül a package.json fájlba, a --save hatására, de ez az alapértelmezés. Vegyünk az express nevű másik csomagot. Ha használjuk a --save kapcsolót, a csomag bejegyzése ugyanúgy a dependencies rész alá kerül. Próbáljuk ki:

npm install express --save

Ha szeretnénk tiltani:

npm install express --no-save

A --no-save kapcsoló hatására node_modules/ könyvtárba letöltődik az express az összes függőségével, de a package.json fájlban nem lesz feljegyezve. Ha egy csomag nem lesz bejegyezve a package.json fájlba, akkor a következő műveletnél törlésre kerül.

Listázás

Telepített csomagok listázása:

npm list

Globálisan telepített csomagok listázása:

npm -g list

Kimenetben megjelenik a függőségi fa, amelynek a mélységét most 1-re állítjuk:

npm list --depth 1

Telepítés helye

Hova telepszenek a csomagok:

npm root list

Hova telepszenek a globális fájlok:

npm root list -g

Eltávolítás

npm uninstall express

vagy

npm remove express

Gyakorlás

index.js
const _ = require('lodash');
console.log(_.chunk(['a', 'b', 'c', 'd'], 2));
index.js
const moment = require('moment');
console.log(moment().format('MMMM Do YYYY, h:mm:ss a'));
index.js
const { v4: uuidv4 } = require('uuid');
console.log(uuidv4());
index.js
require('dotenv').config();
console.log(process.env.MY_SECRET);
index.js
const axios = require('axios');
axios.get('https://api.github.com/users/oktat')
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.log(error);
  });

npx

Az npx az npm bináris csomagok futtató parancsa. Az aktuális projektbe telepített parancsok az npx paranccsal futtathatók.

Például:

npx react-native <command>

Ha a csomag tartalmaz futtatható parancsot is, akkor az a node_modules/.bin/ könyvtárba telepszik.

Lássuk például a cowsay csomagot. Telepítsük:

npm install cowsay

Ellenőrizzük a node_modules/.bin/ könyvtár tartalmát. Láthatjuk, hogy kaptunk két parancsot:

Futtassuk például a cowsay parancsot:

npx cowsay

Egy segítő szöveget találunk, amely leírja hogyan kell használni a parancsot. Adjunk valami szöveget a cowsay parancs után. Például:

npx cowsay Helló

Gyakorlás

Proxy

Ha az Internet eléréshez proxy-t kell használni:

Példa:

npm install --proxy http://192.168.10.2:3128 --global lite-server

Forrás