Muhit o‘zgaruvchilari
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!
