Back to questions
Middle
9
Как в Nuxt 3 правильно хранить runtime config и чем public config отличается от private?
Companies where asked
Хайерлаб
Answer from AI
sobes.tech AI
В Nuxt 3 runtime config используется для хранения конфигурационных значений, которые могут отличаться между средами (разработка, продакшн) и доступны во время выполнения приложения.
Конфигурация делится на две части:
- private runtime config — доступна только на сервере (Node.js), не попадает в клиентский бандл. Используется для секретных ключей, API токенов и т.п.
- public runtime config — доступна и на сервере, и на клиенте. Используется для значений, которые можно безопасно раскрывать, например, URL API.
Пример настройки в nuxt.config.ts:
export default defineNuxtConfig({
runtimeConfig: {
// приватный конфиг
apiSecret: process.env.API_SECRET,
// публичный конфиг
public: {
apiBase: process.env.API_BASE || 'https://api.example.com'
}
}
})
Доступ к конфигу в коде:
const config = useRuntimeConfig()
console.log(config.apiSecret) // доступно только на сервере
console.log(config.public.apiBase) // доступно и на клиенте
Таким образом, private config защищает секреты, а public config позволяет безопасно передавать настройки на клиент.