Node.js ve NPM'ye yeni başlayanlar için kılavuz

Node.js ve Node Paket Yöneticisi ile nasıl başlanır?

Bugün, genel olarak web için nasıl geliştirme yapılacağına ilişkin açıklamalar da dahil olmak üzere, Node.js ve NPM'nin temelleri konusunda size yol göstereceğim. Baştan bir not: Temel web geliştirme ve NPM hakkında bilginiz varsa, bu makaleyi atlayabilir ve burada çok kullanışlı NPX hakkında daha fazla bilgi edinebilirsiniz.

Tamam harika! Hadi başlayalım!

Node.js

Bunu okuyorsanız, muhtemelen Node.js + NPM'yi zaten indirmişsinizdir ve Javascript'in sularına parmağınızı sokmaya başlamışsınızdır. Yine de ilk adımlar şimdiden korkutucu görünebilir: “Sadece Javascript'te küçük bir program yazmak istiyorum, neden diğer tüm şeylere ihtiyacım var?”. Bu anlaşılabilir bir durum, ancak gerçekten önemli bir şey değil.

En baştan başlayalım: Bilgisayarınızın her yerinde '.js'-son ekiyle gösterilen bir Javascript dosyası oluşturabilirsiniz. Bu dosya, istediğiniz şekilde kodla doldurulabilir, ancak eksik olan bir şey var: programınızı gerçekte nasıl çalıştırıyorsunuz? Node.js burada devreye giriyor.

Node.js, açıkça Javascript için bir çalışma zamanı ortamıdır. Açıklamadan da anlaşılacağı gibi, Node Javascript kodunuzu Node'un sağladığı belirli bir ortamda çalıştırabilir. İşlem her zaman aynıdır: önce Node.js'yi başlatırsınız ve Node döndürüldüğünde (yani başlamayı bitirdiği anlamına gelir) Javascript kodunuzu sağlayabilirsiniz.

Javascript'inizin Node'a girdi olarak sağlanabilmesinin iki yolu vardır:

  1. Doğrudan çalışan Düğüm işlemine, satır satır, dosya dahil değil
  2. Node'a herhangi bir satır satır giriş yapmadan hangi Javascript dosyasının yükleneceğini söyleyerek
node

Satır satır

Node.js'yi başarıyla yükledikten sonra (yalnızca yükleyiciyi indirir + çalıştırır, açıklamalar Node'un web sitesinde bulunur), Node.js'yi Terminalinizde (macOS/Linux) veya PowerShell'de (Windows) her yerden başlatabilirsiniz. . Komut şuna benziyor.

Evet, hepsi bu! Node'u başarıyla başlattınız! Bunun ne kadar hızlı gerçekleştiğini fark ettiniz mi? Node.js'nin bu kadar popüler olmasının nedenlerinden biri de (diğer şeylerin yanı sıra) son derece hızlı başlatılmasıdır.

Artık Düğüm çalışır durumda olduğuna göre, Javascript uygulamamızı satır satır tanımlayabiliriz. Her girdi işlenir ve bellekte saklanır. İşte küçük bir örnek.

(Hit enter after every line end) 
const greet = (name) => console.log("Hello, " + name);
greet("Tom"); let x = 10; x = x + 5; 

(enter the following line to terminate node)
.exit

Şimdi her şey yolunda ve züppe, ancak daha büyük uygulamalar yazmak için Node.js'ye beslemeden önce bunları dosyalarda taslak haline getirmemiz gerekiyor. Sonraki bölüm, lütfen!

Dosyalar aracılığıyla giriş

Bu örnek için bir metin düzenleyiciye ihtiyacınız var. Temel olarak, metni değiştirebilen her programı kullanabilirsiniz (macOS'ta TextEdit veya Windows'ta Editor gibi). Microsoft'tan açık kaynaklı VS Code'u öneririm, ancak ergonominize en uygun olanı seçebilirsiniz.

Girdi olarak bir dosya sağlamak için sadece bir tane oluşturmamız gerekecek. Adında 'js' sonekiyle düz bir metin dosyası oluşturmanız yeterlidir. Dosyamıza app.js adını vereceğiz. Şimdi istediğiniz komut istemini açın (ilk örneğimizde kullanılan). Dosyanın kaydedildiği dizinden açtığınızdan emin olun, bu önemli.

VS Kodu kullanıyorsanız, yerleşik komut istemini kullanabilirsiniz, Explorer görünümünüzde sağ tıklayın ve “Kodda Aç” (Windows'ta) öğesini çağırın veya dosyayı içeren dizini sürükleyip bırakın. Dock'unuzdaki (macOS) VS Kodu Simgesi. Ardından burada anlatıldığı gibi terminalini açabilirsiniz.

Terminal hazır olduğunda, aşağıdaki komutu yazmanız yeterlidir.

node app.js

Gördüğünüz gibi, birkaç şey oldu:

  1. Düğüm, kullanıcı girişi olmadan doğrudan başlatıldı
  2. Düğüm, tüm dosyanızı sonuna ulaşana kadar yukarıdan aşağıya doğru çalıştırdı
  3. Dosyanın sonu aynı zamanda sürecinin de sonunu işaret ettiğinden düğümün kendisi sonlandırıldı

Ve Node.js'ye temel bir giriş için, işte bu kadar! Düğümü indirdikten ve satır satır veya bir dosyadan kendi Javascript uygulamanızı başlatmak için komut isteminin kullanımını ilk kez deneyimledikten sonra, resmen bir Javascript geliştiricisisiniz! Kulübe hoşgeldin!

Şimdi size NPM'nin temel konseptini anlatacağım. Sonraki bölümden sonra Node.js, NPM ve web geliştirme arasındaki bağlantıya hızlıca bakacağız. Node.js hakkında daha fazla bilgi edinmek istiyorsanız Javascript, araç zincirleri ve kodlamayla ilgili her şey hakkındaki hikayelerimize buradan göz atabilirsiniz. Ayrıca, öğrenilecek daha fazla şey için bu makalenin sonunda bazı yararlı kaynaklara bağlantı verdim.

Pekala, hadi birini hareket ettirelim!

NPM, Düğüm Paket Yöneticisi

Gördüğünüz gibi, kendi kodunuzu yönetmek o kadar da zor değil. Uygulama bir dosyada saklanabilir, uyguladığınız değişiklikler sadece kalır. Ama ya bir başkasının kodunu kullanmak isterseniz, diyelim ki bir kriptografik veya görüntü işleme kitaplığı? Bir şekilde bu kodu kendi kodunuzun yanına koymanız, uygulamanız için kullanılabilir hale getirmeniz ve her şeyi yönetilebilir tutmanız gerekiyor.

Saf bir yaklaşım, harici kodu doğrudan kaynaktan indirmek olacaktır, ör. Github'a gidin ve kitaplığı dosya dosya kendi projenize kopyalayın. Ancak bu birkaç soruna yol açar:

  • Bu harici kodu en iyi nasıl güncellersiniz? Elle kopyalamak en iyi çözüm değildir.
  • Harici olan tüm kodları nasıl takip ediyorsunuz?
  • Bu harici kodun kendisi projenizde yüklü olmayan kitaplıklara dayanıyorsa ne olur?

Tüm bu zorluklar, Node.js için bir paket yöneticisi olan NPM tarafından ele alınmaktadır. Bir paket yöneticisinin işi temel olarak, bağımlılık olarak da bilinen harici kodu nasıl ekleyeceğiniz, izleyeceğiniz ve kaldıracağınız konusunda size sağlam bir çözüm sunmaktır. İşte eylem halindeki bazı NPM örnekleri.

npm install serve-static npm remove serve-static

Doğal olarak, bu yöneticinin projenizdeki tüm bağımlılıkları takip etmesi için birkaç özel dosyaya ihtiyacı vardır. Bu nedenle NPM kullanan uygulamalarda en az iki dosya bulunur: package.json ve ayrıca package-lock.json. Hızlı bir şekilde yeni bir NPM paketi oluşturmak için aşağıdaki komutu arayabilirsiniz.

npm init -y

Not: Bu makalenin ilk bölümünde gördüğümüz gibi, Node.js veya Javascript kullanmak için NPM'ye gerek yoktur. Odak noktası bağımlılıklarınızı yönetmektir - ne daha fazla, ne daha az. NPM aracılığıyla npmjs.com'da yayınlanan kodu indirebilirsiniz. Tüm bu harici modüller projenizde node_modules adlı özel bir dizinde saklanır. Tamamen NPM tarafından yönetildiği için bu dizini pratik olarak hiçbir zaman değiştirmeniz gerekmeyecek.

package.json, projede şu anda kullanılan bağımlılıklarınız hakkında size fikir verir. package-lock.json, package.json dosyanız veya node_modules dizini ile ilgili mutasyonlar hakkında bazı meta verileri depolayan özel bir dosyadır ve şimdilik göz ardı edilebilir.

Sanırım NPM'nin en temel konsepti, ne yaptığı ve otomatik olarak hangi dosyaları/dizinleri oluşturduğuyla ilgili açıklamamı tamamlayacağım. Daha fazla bilgi makalenin sonunda bağlantılıdır.

Arc to web geliştiricisi

Güzel, artık Node.js ve NPM'nin temellerini biliyorsunuz. Ancak, kendi modern web sitenizi oluşturmaya başlamak istiyorsanız, neden tüm bu şeyler öğrenmek için gerekli?

Az önce gördüğümüz gibi, NPM geniş bir kütüphane koleksiyonundan kod indirmemize izin verir (kesin olarak var olan en büyük kütüphane). Web geliştirme için, web uygulamanızı barındırabilecek (yani sağlayabilecek) bir sunucuya ihtiyacınız olacaktır. Web sitesi projenizi yükleyebileceğiniz ve web sitesini web'de kullanılabilir hale getirmek için sunucular dahil mevcut bir altyapıyı kullanabileceğiniz birçok hizmet bulunmaktadır.

Ve yerel geliştirme için, yerel dosyalarınızı yüklemek ve geliştirme sırasında bunları cihazınızda yalnızca sizin kullanımınıza sunmak için bir sunucu da gereklidir. Node.js sayesinde, sadece bunu yapabilirsiniz: web sitenizi sözde localhost aracılığıyla yerel olarak kullanılabilir hale getirmek. Node.js, yerel bir sunucu başlatmak için gereken yerleşik araçlara sahiptir, ancak NPM aracılığıyla uygulamanız, kısa sürede çok büyük hizmetler oluşturmanıza yardımcı olabilecek, savaşta test edilmiş bileşenlerle zenginleştirilebilir.

Tabii ki bu sadece başlangıç: NPM, modern web uygulamaları (PWA, “aşamalı web uygulaması” olarak bilinir) ve karmaşık sunucular oluşturmak için çok fazla kod barındırıyor. Ancak ilk giriş için, bu açıklamanın iyi olması gerektiğini düşünüyorum.

Umarım Node.js ve NPM'yi kavramanıza yardımcı olabilirim. İlk adımlar her zaman en zorudur, ancak geliştirmenin ve (birçok) öğrenmenin ilk günlerini ısırmak, modern web uygulamalarının geliştirilmesine yayılan becerilerinizle ödüllendirilecek ve istediğiniz her şeyi inşa etmenizi sağlayacaktır.