23.04.2023

2

Like

539

Views

NPM Nedir? NPM Temelleri

NPM — Node Package Manager

Node.js topluluğundaki geliştiriciler tarafından oluşturulan paketler için repo görevindedir. İhtiyacımız doğrultusunda bu paketleri indirip kullanabiliriz. (npm)

Bu paketler Node.js yazılımıyla birlikte gelen komut satırı uygulaması ile yönetilir.

package.json nedir?

package.json, projenin adı, sürümü, bağımlılıkları gibi önemli bilgileri içeren Node.js uygulamaları için standart bir yapılandırma dosyasıdır.

Bu dosyayı oluşturmak için komut satırına npm init yazılır. Daha sonra çıkan sorulara cevap vererek yapılandırılır. npm init -y kullanılırsa tüm sorular varsayılan olarak kabul edilir.

Örnek bir package.json dosyası:

{
"name": "test",
"version": "1.0.0",
"description": "test dosyasi",
"main": "app.js",
"scripts": {
"test": "bla bla"
},
"author": "Deniz",
"license": "ISC"
}

NPM ortamından bir paketi projemize dahil etmek istediğimizde

npm i <package_name> ya da npm install <package_name> komutlarını kullanabiliriz.

Örneğin lokal express paketini projemize yüklemek için npm i express komutunu kullanalım.

package.json dosyasının şimdiki görüntüsü:

package.json dependencies bölümüne express eklendi. Bunun yanı sıra proje klasörüne node_modules klasörü ve package-lock.json dosyası da eklendi.

node_modules klasörü içinde express modülü ve bu modüle bağımlı diğer modüller indirilir. package-lock.json dosyasında bu modüller hakkında detaylı bilgi vardır.

const express = require ("express");

express modülü, require() ile projeye dahil edilir ve “express” değişkenine atanır. Böylelikle express değişkeniyle express modülüne erişim sağlanır. (express)

Lokal & Global Paketler

Node.js’de, paketler iki şekilde yüklenebilir: lokal veya global.

Lokal paketler

  • Projenin gereksinimine özgü paket, npm i <package_name> komutuyla yüklenir. Paketin belirli bir sürümünü kurmak için npm install <package_name>@<version_number> komutu kullanılır.
  • Yüklenen lokal paket, package.json dosyasında dependencies olarak listelenir.
  • Lokal paketler sadece belirli bir projede kullanılabilir, projenin dışındaki diğer projelerle paylaşılamaz.

Örneğin: express.js, socket.io, mongoose.

Global paketler

  • Sistemimizde genel olarak yüklü paketlerdir. Bu paketler herhangi bir dizinde kullanılabilir. npm install -g <package_name> ya da npm i -g <package_name> komutu ile global paket yüklemesi yapılır.
  • Global paketler, sistemde yüklü oldukları sürece depolarda kalır ve başka bir proje için yeniden yüklenmezler.
  • Sisteminizdeki global olarak kurulu modülleri listelemek için npm ls -g — depth=0 komutunu kullanabiliriz.

Örneğin: nodemoon, live-server

Global olarak yüklenmiş her paket, kendi kullanım şekillerine sahiptir. Bir paketin kullanımı, paketin amacına ve sağladığı özelliklere bağlı olarak değişebilir.

Diğer temel NPM komutları:

  • Kurulu bir paketi kaldırmak için npm uninstall <package_name> komutu kullanılır.
  • Kurulu paketlerin listesini görmek için npm list komut kullanılır.
  • Global paketlerin listesi için npm list -g komutu kullanılır.
  • npm paketini global olarak silmek için, npm uninstall -g <package_name> komutu kullanılır.
  • Örneğin npm i nodemon --save -dev`kodundaki “ — save -dev”, development(geliştirme) ve test sırasında ihtiyacımız olan modülleri package.json da “devDependencies” altına ekler.

Comments

You need to log in to be able to comment!

Deniz Dağlı

Bilgisayar mühendisliği 4. sınıf öğrencisiyim. Burada güncel teknolojileri rahatça öğrenme şansına sahip olduğumdan dolayı varım.

Location

Kütahya, TR

Education

Bilgisayar Mühendisliği - Dumlupınar

Job Experience

Yazılım Stajyeri - Retter.io

© 2021 Patika Dev

facebook
twitter
instagram
youtube
linkedin

Disclaimer: The information /programs / events provided on https://patika.dev and https://risein.com are strictly for upskilling and networking purposes related to the technical infrastructure of blockchain platforms. We do not provide financial or investment advice and do not make any representations regarding the value, profitability, or future price of any blockchain or cryptocurrency. Users are encouraged to conduct their own research and consult with licensed financial professionals before engaging in any investment activities. https://patika.dev and https://risein.com disclaim any responsibility for financial decisions made by users based on information provided here.