serverComponentsHmrCache

خيار serverComponentsHmrCache التجريبي يسمح لك بتخزين استجابات fetch في مكونات الخادم (Server Components) مؤقتًا عبر تحديثات استبدال الوحدة الساخنة (HMR) أثناء التطوير المحلي. هذا يؤدي إلى استجابات أسرع وتقليل تكاليف استدعاءات API المدفوعة.

افتراضيًا، ينطبق ذاكرة التخزين المؤقت HMR على جميع طلبات fetch، بما في ذلك تلك التي تحتوي على خيار cache: 'no-store'. هذا يعني أن الطلبات غير المخزنة مؤقتًا لن تعرض بيانات جديدة بين تحديثات HMR. ومع ذلك، سيتم مسح ذاكرة التخزين المؤقت عند التنقل أو إعادة تحميل الصفحة بالكامل.

يمكنك تعطيل ذاكرة التخزين المؤقت HMR عن طريق تعيين serverComponentsHmrCache إلى false في ملف next.config.js:

import type { NextConfig } from 'next'

const nextConfig: NextConfig = {
  experimental: {
    serverComponentsHmrCache: false, // القيمة الافتراضية true
  },
}

export default nextConfig
/** @type {import('next').NextConfig} */
const nextConfig = {
  experimental: {
    serverComponentsHmrCache: false, // القيمة الافتراضية true
  },
}

module.exports = nextConfig

معلومة مفيدة: لتحسين إمكانية المراقبة، نوصي باستخدام خيار logging.fetches الذي يسجل ضربات ذاكرة التخزين المؤقت لطلبات الجلب (fetch) وحالات عدم وجودها في وحدة التحكم أثناء التطوير.