Данные с сервера загружают в onMounted или watch. fetch или axios. Состояния: loading, error, data — три ref для UX.
async/await в script setup. Обработка ошибок try/catch. Для повторного использования — composable useFetch(url).
CORS настраивается на сервере. В dev Vite proxy в vite.config обходит CORS к локальному API.
const data = ref(null)
const loading = ref(true)
onMounted(async () => {
try {
const res = await fetch('/api/items')
data.value = await res.json()
} finally {
loading.value = false
}
})server: {
proxy: { '/api': 'http://localhost:8000' }
}Книга, игра и упражнения доступны без регистрации. Видеоуроки — после оплаты курса.