🧱
Nodejs Temelleri
Paket kurulumları
npm
komutu yardımıyla yapılır.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
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 ...
npm install nodemon --save-devnpm install -g babel-clinpm install colors
<prefix><dependency_version>
- ~ This version
- ^ latest version
Ortam ön ayarları scriptler çalıştırılmadan önce girilen komutlardır.
Kod içerisinde
process.env.<değişken>
şeklinde erişilir.<dosya_ismi>
örnekleri:*
ile her şeyilib\*
ile lib'le başlayan herşeyiindex
ile index.js dosyasını
<özel_mod>
örnekleri:stagging
Normal iskeletproduction
Üretim iskeleti
<port>
örnekleri:3000
Normal port5000
Üretim portu
Değişken örnekleri keyfidir.
set NODE_ENV=production & set DEBUG=* & npm run-script dev
Nodejs'de ES6 yapısı
babel
yardımcısı ile kullanabilinmektedir.Tarayıcı es5 yapısını kullanmaktadır.
- Global kurulum:
-g
ön eki ile yapılır - Dev kurulum:
--save-dev
son eki ile yapılır
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.
Bu adım ve sonrasındaki işlemler projenin (index.js
) dizininde yapılmalıdır
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.
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ımdakitools/dev
ile diğer adımdaki işlemler yapılmaktadır
Bu işlem oluşturulması istenen dizinde yapılmalıdır.
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"}
mkdir dist
Dist adlı klasör oluşturulurbabel [her bir js dosyasının yolu] -s -d dist
Javasciprt dosyaları es5 tipinde düzenlenip dist içine atılırxcopy [klasör] dist\\[klasör] /s /i /e /y
Dinamik veri tutan klasörler varsa dist içine kopyalanır
Package.json dosyasındaki scriptleri çalıştırma
[script]
scripts içindeki isimler; start, dev, build
## 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}`; }
-
-
-
-
-
-
-
Last modified 3yr ago