متغیرهای محیطی

متغیرهای محیطی راهی امن برای ذخیره و مدیریت داده‌های پیکربندی یا اطلاعات حساس، مانند کلیدهای API، رشته‌های اتصال به پایگاه داده، یا تنظیمات خاص محیط است. در Next.js، متغیرهای محیطی در فایل‌های .env تعریف می‌شوند و بسته به پیشوند آنها، در زمان ساخت یا زمان اجرا قابل دسترسی هستند.

تنظیم متغیرهای محیطی

الگو از قبل با یک فایل .env در دایرکتوری ریشه همراه است. آزاد هستید این متغیرها را بر اساس نیازمندی‌های پروژه خود تغییر دهید. اینجا یک مثال از متغیرهای محیطی و کنوانسیون نامگذاری است:

NEXT_PUBLIC_API_BASE_URL=https://api.example.com
DATABASE_URL=postgres://user:password@localhost:5432/db_name
  • متغیرهای عمومی: متغیرهایی که باNEXT_PUBLIC_ پیشوند می‌شوند، به مرورگر نمایش داده می‌شوند. اینها نباید شامل داده‌های حساس باشند.
  • متغیرهای خصوصی: متغیرهایی کهبدون پیشوندNEXT_PUBLIC_ هستند، فقط در سمت سرور در دسترس هستند و هرگز به کلاینت نمایش داده نمی‌شوند.
دسترسی به متغیرهای محیطی
  1. دسترسی سمت سرور:
    متغیرهای خصوصی را در توابع سمت سرور مانند مسیرهای API یا کامپوننت‌های سرور دسترسی کنید:
    export async function GET() {
        const databaseUrl = process.env.DATABASE_URL;
        return new Response('Database URL:' + databaseUrl);
    }
  2. دسترسی سمت کلاینت:
    متغیرهای عمومی را در کامپوننت‌های React خود دسترسی کنید:
    const apiBaseUrl = process.env.NEXT_PUBLIC_API_BASE_URL;
    
    useEffect(() => {
        console.log('API Base URL:', apiBaseUrl);
    }, []);
مستندات رسمی

برای جزئیات بیشتر، به مستندات رسمی متغیرهای محیطی Next.js مراجعه کنید.