Merhaba arkadaşlar, bugün node.js ile dotenv kullanacağız. Bilmeyenler için ufak bir tanım yapalım.
Dotenv Nedir?
Yazılan bir web projesinde kurup kullanacak kişiye hem kolaylık, hem de bazı değerleri kolayca tek dosyada toplamaya yarar. Projenin ana bölümüne .env adında yer alır. İçerisinde genellikle projenin çalışma portu, veritabanı adı, kullanıcı adı, şifresi gibi değişkenlerin bulunduğu yerdir.
Node üzerinden basit kullanımına bakalım.
Az çok ne tür bir problemi çözdüğünü anladığınızı varsayıyorum. Gelelim bunu nasıl node ile kullanacağımıza .env laravel ile kullanıldığını biliyorum. (Php ile uğraşmadığım için codeigniter ile kullanılıyor mu çok bilgim yok.) Python ile de büyük ihtimalle kullanılıyordur modül vardır mutlaka. Neyse node ile kullanmaya devam edelim.
Basit bir express uygulaması yazıp bunu ayağa kaldıralım. Hi! mesajını http://localhost:3000 adresine girdiğinize görmüş olmanız gerekiyor. Şimdi ise dotenv modülünü kuralım.
Global olarak kurmak için:
O an ki projeniz için dependencies olarak kurmak için ise:
Kurduktan sonra ise çağıralım.
Şimdi projemizin ana dizinine .env adında bir dosya oluşturalım. Bu dosyanın içine yazacağız. (Her klasörden erişilebiliyor bu değerlere.) Şimdi .env dosyamıza bu uygulamayı başlattığımız portu yazalım.
.env dosyasının içine:
yazdıktan sonra node ile ayağa kaldırdığımız projede ufak bir değişiklik yapalım.
Tekrar uygulamayı ayağa kaldırdığınızda 3000 portu ile çalıştığını göreceksiniz. Peki şimdi mesaj kısmını da .env içinde belirtelim.
.env içine:
Kodumuzda ufak bir düzenleme yapalım:
Tekrar koşturalım projemizi, göreceksiniz ki "Hello World .ENV" yazacaktır. Tabi ki böyle kullanmayın .env da ben anlatmak için kullanıyorum. Her değişikliğinizde tekrar tekrar projeyi koşturmak ile uğraşmak istemiyorsanız nodemon kurun.
Normalde konuya resim ekleyemeyecektim ama okuyucu sıkılmasın diye şöyle resim bıraktım. Umarım dotenv mantığını kavramışsınızdır. Node.js ile kullanmak buna örnektir. Önemli olan mantığını kavrayıp niçin kullanmak ve tür sorunları çözmeyi anlamaktır.
Dotenv Nedir?
Yazılan bir web projesinde kurup kullanacak kişiye hem kolaylık, hem de bazı değerleri kolayca tek dosyada toplamaya yarar. Projenin ana bölümüne .env adında yer alır. İçerisinde genellikle projenin çalışma portu, veritabanı adı, kullanıcı adı, şifresi gibi değişkenlerin bulunduğu yerdir.
Node üzerinden basit kullanımına bakalım.
Az çok ne tür bir problemi çözdüğünü anladığınızı varsayıyorum. Gelelim bunu nasıl node ile kullanacağımıza .env laravel ile kullanıldığını biliyorum. (Php ile uğraşmadığım için codeigniter ile kullanılıyor mu çok bilgim yok.) Python ile de büyük ihtimalle kullanılıyordur modül vardır mutlaka. Neyse node ile kullanmaya devam edelim.
Kod:
[COLOR="DeepSkyBlue"]const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Hi!');
});
app.listen(3000);[/COLOR]
Basit bir express uygulaması yazıp bunu ayağa kaldıralım. Hi! mesajını http://localhost:3000 adresine girdiğinize görmüş olmanız gerekiyor. Şimdi ise dotenv modülünü kuralım.
Global olarak kurmak için:
Kod:
[COLOR="DeepSkyBlue"][B]npm install -g dotenv[/B][/COLOR]
O an ki projeniz için dependencies olarak kurmak için ise:
Kod:
[COLOR="DeepSkyBlue"][B]npm install --save dotenv[/B][/COLOR]
Kurduktan sonra ise çağıralım.
Kod:
[COLOR="DeepSkyBlue"][B]require('dotenv').config();[/B][/COLOR]
Şimdi projemizin ana dizinine .env adında bir dosya oluşturalım. Bu dosyanın içine yazacağız. (Her klasörden erişilebiliyor bu değerlere.) Şimdi .env dosyamıza bu uygulamayı başlattığımız portu yazalım.
.env dosyasının içine:
Kod:
[COLOR="DeepSkyBlue"][B]PORT = 3000[/B][/COLOR]
yazdıktan sonra node ile ayağa kaldırdığımız projede ufak bir değişiklik yapalım.
Kod:
[COLOR="DeepSkyBlue"][B]const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Hi!');
});
app.listen(process.env.PORT);[/B][/COLOR]
Tekrar uygulamayı ayağa kaldırdığınızda 3000 portu ile çalıştığını göreceksiniz. Peki şimdi mesaj kısmını da .env içinde belirtelim.
.env içine:
Kod:
[COLOR="DeepSkyBlue"][B]MESSAGE = Hello World .ENV[/B][/COLOR]
Kodumuzda ufak bir düzenleme yapalım:
Kod:
[COLOR="DeepSkyBlue"][B]res.send(process.env.MESSAGE)[/B][/COLOR];
Tekrar koşturalım projemizi, göreceksiniz ki "Hello World .ENV" yazacaktır. Tabi ki böyle kullanmayın .env da ben anlatmak için kullanıyorum. Her değişikliğinizde tekrar tekrar projeyi koşturmak ile uğraşmak istemiyorsanız nodemon kurun.
Normalde konuya resim ekleyemeyecektim ama okuyucu sıkılmasın diye şöyle resim bıraktım. Umarım dotenv mantığını kavramışsınızdır. Node.js ile kullanmak buna örnektir. Önemli olan mantığını kavrayıp niçin kullanmak ve tür sorunları çözmeyi anlamaktır.