تهيئة وقت التشغيل
تحذير:
- هذه الميزة قد تم إهمالها. نوصي باستخدام متغيرات البيئة بدلاً من ذلك، والتي يمكنها أيضًا دعم قراءة قيم وقت التشغيل.
- يمكنك تشغيل التعليمات البرمجية عند بدء تشغيل الخادم باستخدام دالة
register
.- هذه الميزة لا تعمل مع التحسين الثابت التلقائي، أو تتبع ملفات الإخراج، أو مكونات خادم React.
لإضافة تهيئة وقت التشغيل إلى تطبيقك، افتح ملف next.config.js
وأضف تهيئات publicRuntimeConfig
و serverRuntimeConfig
:
module.exports = {
serverRuntimeConfig: {
// ستكون متاحة فقط على جانب الخادم
mySecret: 'secret',
secondSecret: process.env.SECOND_SECRET, // تمرير عبر متغيرات البيئة
},
publicRuntimeConfig: {
// ستكون متاحة على كل من الخادم والعميل
staticFolder: '/static',
},
}
ضع أي تهيئة وقت تشغيل خاصة بالخادم فقط تحت serverRuntimeConfig
.
أي شيء يمكن الوصول إليه من كود جانب العميل والخادم يجب وضعه تحت publicRuntimeConfig
.
أي صفحة تعتمد على
publicRuntimeConfig
يجب أن تستخدمgetInitialProps
أوgetServerSideProps
أو يجب أن يحتوي تطبيقك على تطبيق مخصص معgetInitialProps
لعدم استخدام التحسين الثابت التلقائي. لن تكون تهيئة وقت التشغيل متاحة لأي صفحة (أو مكون في صفحة) بدون تقديمها من جانب الخادم.
للوصول إلى تهيئات وقت التشغيل في تطبيقك، استخدم next/config
، كما يلي:
import getConfig from 'next/config'
import Image from 'next/image'
// تحتوي فقط على serverRuntimeConfig و publicRuntimeConfig
const { serverRuntimeConfig, publicRuntimeConfig } = getConfig()
// ستكون متاحة فقط على جانب الخادم
console.log(serverRuntimeConfig.mySecret)
// ستكون متاحة على كل من جانب الخادم والعميل
console.log(publicRuntimeConfig.staticFolder)
function MyImage() {
return (
<div>
<Image
src={`${publicRuntimeConfig.staticFolder}/logo.png`}
alt="logo"
layout="fill"
/>
</div>
)
}
export default MyImage