Válasszunk egy nevet, és keressünk rá a csomag nevére:
Ha nem foglalt, akkor folytassuk.
Hozzuk létre a package.json:
npm init -y
Szerkesszük:
{ "name": "valami", "version": "0.0.1", "description": "csomag leírása", "bin": { "valami": "valami.js" }, "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "Nagy János", "license": "MIT" }
{ "repository": { "type": "git", "url": "https://github.com/valaki/valami.git" } }
{ "name": "valami", "version": "0.0.1", "description": "csomag leírása", "bin": { "valami": "valami.js" }, "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "Nagy János", "license": "MIT", "repository": { "type": "git", "url": "https://github.com/valaki/valami.git" } }
Hozzuk létre egy README.md nevű fájlt. Írjuk le mi ez a csomag, és hogyan kell használni.
# Csomag A csomagról ...
#!/usr/bin/env node console.log('működik')
npm link
Linuxon:
sudo npm link
Linuxon létrejön egy link /usr/local/bin/valami könyvtárban. Ez a link a következő helyre mutat:
../lib/node_modules/mentol/valami.js
Az /usr/local/lib/node_modules/valami szintén egy link ami a felhasználó könyvtárába mutat, például:
/home/janos/dev/mentol
Készítsünk hozzáférést a webhelyen:
Jelentkezzünk be:
npm login
Publikálás:
npm publish
Újabb publikáláshoz változtatni kell valamit a kódon és új verziószámot beírni a package.json fájlba.
Készítünk egy create-valami nevű NodeJS sablont.
Feltöltjük majd, így használjuk:
npm create valami
A sablon létrehozásakor hajtsuk végre az outfile.cjs scriptet:
"bin": { "create-valami": "outfile.cjs" },
#!/usr/bin/env node //...
Ha olyan csomagot fejlesztünk, ami hatással lesz az a felhasználás helyére, akkor kérdéses lehet, hogyan kérdezzük le a felhasználás helyének aktuális könyvtárát, és hogyan kérdezzük le csomag saját könyvtárának útvonalát.
A csomag saját helyének lekérdezése:
const filePath = path.join(__dirname, 'package.json');
A felhasználás helyén, az aktuális könyvtár lekérdezése.
const currentDirectory = process.cwd(); const filePath = currentDirectory + '/package.json'