🧱Nodejs Temelleri

Paket Yönetimi

Paket kurulumları npm komutu yardımıyla yapılır.

Paketler ve Açıklamaları

Paketler NPM ile npm install <paket> komutu yardımıyla indirilir.

  • Normal kurulum: Ön ek gerektirmez

  • Global kurulum: -g ön eki ile yapılır

  • Dev kurulum: --save-dev son eki ile yapılır

Normal Paketler

Geliştirici Paketleri

NPM Kullanım Yapısı

npm <operasyon> <varsa_ön_ek> <paket> <varsa_son_ek>
  • <operasyon> install, remove ...

  • <varsa_ön_ek> -g ...

  • <paket> nodemon, colors, express ...

  • <varsa_son_ek> --save-dev ...

Paket Kurulum Örnekleri

npm install nodemon --save-devnpm install -g babel-clinpm install colors

Nodejs Dependency Prefixes

<prefix><dependency_version>

  • ~ This version

  • ^ latest version

Ortam Değişkenleri

Ortam ön ayarları scriptler çalıştırılmadan önce girilen komutlardır.

Heroku gibi sitelerde üretim modu ön eki uygulama çalıştırılmadan uygulanır.

Ortam Değişkenleri Açıklamaları

Kod içerisinde process.env.<değişken> şeklinde erişilir.

  • <dosya_ismi> örnekleri:

    • * ile her şeyi

    • lib\* ile lib'le başlayan herşeyi

    • index ile index.js dosyasını

  • <özel_mod> örnekleri:

    • stagging Normal iskelet

    • production Üretim iskeleti

  • <port> örnekleri:

    • 3000 Normal port

    • 5000 Üretim portu

Değişken örnekleri keyfidir.

Ortam Değişkenleri Kullanımı

set NODE_ENV=production & set DEBUG=* & npm run-script dev

Herokunun Kullandığı Ortam Değişkenleri

Ücretsiz nodejs sunucularından biri olan heroku'nun hali hazırda sunduğu ortam değişkenler:

Nodejs ES6 Yapısını Kullanma

Nodejs'de ES6 yapısı babel yardımcısı ile kullanabilinmektedir.

Tarayıcı es5 yapısını kullanmaktadır.

Babel Paketleri

  • Global kurulum: -g ön eki ile yapılır

  • Dev kurulum: --save-dev son eki ile yapılır

Babel Paketlerinin Kurulumu

Global olarak babel consol komutlarını ve işleyicisini ekler.

npm install -g babel-clinpm install babel-register babel-preset-env --save-dev

babel-cli global olarak kurulmazsa babel komutları her yerde tanınmaz.

Babel Yapılandırması

Bu adım ve sonrasındaki işlemler projenin (index.js) dizininde yapılmalıdır

Babel Derleyici Yapılandırmasını Oluşturma

Babelrc dosyası belli ayarlarla oluşturma

@echo {"presets":[["env",{"targets":{"edge":"17","firefox":"60","chrome":"67","safari":"11.1","node":"current"}}]]} > .babelrc

targets isteğe bağlıdır. Hedeflenen tarayıcıları gösterir.

Babel Derleme Araçlarını Yapılandırma

Tools dizini oluşturup, içindeki dosyaya derleme parametrelerini yazıyoruz.

mkdir tools & @echo require("babel-register") > tools/dev && @echo require("./../index.js") >> tools/dev

Not: Bu kısımdaki tools/dev ile diğer adımdaki işlemler yapılmaktadır

Packege.json Oluşturma

Bu işlem oluşturulması istenen dizinde yapılmalıdır.

Package.json Scriptlerini Oluşturma

package.json dosyası içerisindeki script kısmında alttakiler eklenir.

"scripts": {  "test": "node test",  "start": "node dist/index.js",  "dev": "set DEBUG=* & node tools/dev",  "build": "mkdir dist & babel *.js lib/**/*.js -s -d dist & xcopy public dist\\public /s /i /e /y",  "build:db": "mkdir dist & babel *.js lib/**/*.js -s -d dist & xcopy public dist\\public /s /i /e /y & xcopy database dist\\database /s /i /e /y",  "build:start": "npm run-script build & npm run-script start",  "clean": "xcopy dist\\database database /s /i /e /y & rd /s /q dist",  "clean:all": "rd /s /q dist",  "rebuild": "npm run-script clean & npm run-script build",  "rebuild:db": "npm run-script clean & npm run-script build:db"}

Build Script Yapısı

  • mkdir dist Dist adlı klasör oluşturulur

  • babel [her bir js dosyasının yolu] -s -d dist Javasciprt dosyaları es5 tipinde düzenlenip dist içine atılır

  • xcopy [klasör] dist\\[klasör] /s /i /e /y Dinamik veri tutan klasörler varsa dist içine kopyalanır

Package.json için Script Açıklamaları

Programı Derleme İşlemi

Package.json dosyasındaki scriptleri çalıştırma

  • [script] scripts içindeki isimler; start, dev, build

VsCode için Debug Ayarları

Açıklama videosu ve metni için üzerlerine tıklayabilirsin.

## Kod Bankası​### Fonksiyon İsmi, Satırı ve Dosya Adı Alma​```jsexport function _getCallerInfo() {  const err = new Error();  let index = 3;  let line = err.stack.split("\n")[index];  let functionName = line.split(" at ")[1].split(" ")[0];​  while (functionName.includes(`C:/`)) {    index++;    line = err.stack.split("\n")[index];    functionName = line.split(" at ")[1].split(" ")[0];  }​  let callerInfo = line.split(`${projectName}/`);  callerInfo = callerInfo[callerInfo.length - 1];​  const filename = callerInfo.split(".")[0];  const lineInfos = callerInfo.replace(filename + ".js:", "").replace(")", "");  return `${filename}:${functionName}:${lineInfos}`; }

Harici Bağlantılar

Last updated

© 2024 ~ Yunus Emre Ak ~ yEmreAk