Добрый день!
Что имеем: фронт Nuxt 3 и бэкэнд Django в разных docker-compose. На сервере стоит Traefik.
Сейчас использую useFetch таким образом:
const config = useRuntimeConfig()
const {data:types, error, refresh} = await useFetch((process.server) ? config.backend_url+'/types/' : config.url+'/types/',
{
headers: {
'HOST': config.host
}
})
nuxt.config.ts:
export default defineNuxtConfig({
runtimeConfig: {
public: {
url: 'https://api-domain.com/api',
backend_url: 'http://docker-name:8000/api',
host: Хост,
token: process.env.TOKEN
}
},
})
То есть в useFetch()
проверяем(process.server) ? ...
откуда идет запрос:
- Если сервера, то обращаемся к API по имени docker и порту
- Если с клиента, то обращаемся по https по доменному имено
Насколько это решение правильное? Или есть более качественные решения?