Muhit o‘zgaruvchilari


ULASHISH

Muhit o‘zgaruvchilari nima?

Muhit o‘zgaruvchilari dinamik nomlangan qiymatlar bo‘lib, ular ishlaydigan jarayonlarning kompyuterda qanday ishlashiga ta’sir qilishi mumkin.

Ular jarayon ishlaydigan muhitning bir qismi bo‘lib, kodni o‘zgartirmasdan ilovalarni sozlash uchun ishlatiladi.

Asosiy imtiyozlar:

  • Konfiguratsiyani koddan alohida saqlang
  • Maxfiy ma’lumotlarni versiya boshqaruvidan tashqarida saqlang
  • Ilovalarni har xil muhitda sozlang
  • Kodni o‘zgartirmasdan dastur harakatini o‘zgartiring

Umumiy foydalanish holatlari

Muhit konfiguratsiyasi

  • Ma’lumotlar bazasiga ulanish stringlari
  • API kalitlari va sirlari
  • Tashqi xizmat URL manzillari
  • Xususiyat bayroqlari

Ish vaqti harakati

  • Jurnalning batafsilligi
  • Port raqamlari
  • Vaqtlar va cheklovlar
  • Muhitga xos sozlamalar

Node.js da muhit o‘zgaruvchilariga kirish

Node.js muhit o‘zgaruvchilariga kirish uchun process.env obyektini taqdim etadi.

Ushbu obyekt joriy jarayon uchun mavjud bo‘lgan barcha muhit o‘zgaruvchilarini o‘z ichiga oladi.

Asosiy foydalanish

// Access a single environment variable
const nodeEnv = process.env.NODE_ENV || 'development';
console.log(`Running in ${nodeEnv} mode`);

// Access multiple variables with destructuring
const { PORT = 3000, HOST = 'localhost' } = process.env;
console.log(`Server running at http://${HOST}:${PORT}`);

// Check if running in production
if (process.env.NODE_ENV === 'production') {
  console.log('Production optimizations enabled');
  // Enable production features
}

Umumiy o‘rnatilgan muhit o‘zgaruvchilari

Variable Tavsif Misol
NODE_ENV Current environment (development, test, production) production
PORT Tinglash uchun server uchun port raqami 3000
PATH Bajariladigan fayllarni qidirish uchun tizim yo‘li /usr/local/bin:/usr/bin
HOME User’s home directory /Users/username

Eslatma: Ilovangizda undefined qiymatlarining oldini olish uchun muhit o‘zgaruvchilariga kirishda har doim standart qiymatlarni taqdim eting.



Muhit o‘zgaruvchilarini belgilash

Node.js ilovangiz uchun muhit o‘zgaruvchilarini o‘rnatishning bir necha yo‘li mavjud, ular ishlab chiqish ish jarayoni va joylashtirish muhitiga bog‘liq.

1. Buyruqlar qatori (vaqtinchalik)

Ilovani ishga tushirishda o‘zgaruvchilarni to‘g‘ridan-to‘g‘ri buyruq satrida o‘rnating:

Windows (Command Prompt)

set PORT=3000
set NODE_ENV=development
set DB_HOST=localhost
node app.js

Windows (PowerShell)

$env:PORT=3000
$env:NODE_ENV="development"
node app.js

macOS/Linux (Bash/Zsh)

PORT=3000 NODE_ENV=development DB_HOST=localhost node app.js

macOS/Linux (bir nechta qator)

export PORT=3000
export NODE_ENV=development
node app.js

2. .env fayllarini dotenv bilan ishlatish

Rivojlanish uchun muhit o‘zgaruvchilarini mahalliy saqlash uchun .env faylidan foydalaning:

1. Dotenv paketini o‘rnating

npm install dotenv

2. .env faylini yarating

# .env
PORT=3000
NODE_ENV=development
DB_HOST=localhost
DB_USER=admin
DB_PASS=your_secure_password
API_KEY=your_api_key_here

3. Ilovangizga .env ni yuklang

// Load environment variables from .env file
require('dotenv').config();

const port = process.env.PORT || 3000;
const dbConfig = {
  host: process.env.DB_HOST,
  user: process.env.DB_USER,
  password: process.env.DB_PASS
};

console.log(`Server running on port ${port}`);

Muhim: Hech qachon .env fayllarni versiya boshqaruviga topshirmang. .gitignore faylingizga .env qo‘shing.

3. Ishlab chiqarish muhitining o‘zgaruvchilari

Ishlab chiqarishda, hosting provayderingiz konfiguratsiyasidan foydalanib, muhit o‘zgaruvchilarini o‘rnating:

Heroku

heroku config:set NODE_ENV=production DATABASE_URL=your_database_url

Docker

docker run -e NODE_ENV=production -e PORT=3000 your-image

Linux/tizim xizmati

# /etc/systemd/system/your-app.service
[Service]
Environment="NODE_ENV=production"
Environment="PORT=3000"

Mahalliy rivojlanish uchun dotenv dan foydalanish

dotenv to‘plami .env faylidan muhit o‘zgaruvchilarini yuklash imkonini beradi:

# .env file
API_KEY=abcdef12345

Ilovangizdagi o‘zgaruvchilarni yuklang:

require('dotenv').config();
console.log(process.env.API_KEY);

Dotenvni quyidagi bilan o‘rnating:

npm install dotenv

Xulosa

Muhit o‘zgaruvchilari maxfiy ma’lumotlar va konfiguratsiyani kodingizdan tashqarida saqlashga yordam beradi.

Node.js da ularni osongina boshqarish uchun process.env va dotenv kabi vositalardan foydalaning.




W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!