#axios #http-headers #nuxt.js #web-deployment
#axios #http-заголовки #nuxt.js #веб-развертывание
Вопрос:
Я только что развернул приложение nuxt на сервере, но оно плохо кэшируется. на любом устройстве, вошедшем в систему или нет, я получаю одну информацию о пользователе, это cookie и токен! Я попытался выяснить, в чем проблема, я искал, и теперь я думаю, потому cache-control: public
что с max-age=31536000
помощью, теперь я попытался установить его в private
или no-cache
.
У меня есть два вопроса:
- какое
cache-control
значение я должен использовать?private
илиno-cache
и т. Д.? или даже эта проблема связана с кэшированием? - когда я пытаюсь установить заголовки axios
nuxt.config.js
, я получаю эту ошибку:
Access to XMLHttpRequest at 'url of the backend' from origin 'http://localhost:3000' has been blocked by CORS policy: Request header field cache-control is not allowed by Access-Control-Allow-Headers in preflight response.
Я пытался установить Access-Control-Allow-Headers
, но это не сработало, моя nuxt.config.js
часть axios выглядит так:
axios: {
baseURL: 'backend',
headers: {
common: {
'Access-Control-Allow-Headers': 'cache-control',
'cache-control': 'private',
},
},
}
Спасибо.
Ответ №1:
Через некоторое время я нашел ответ, Nuxt.js по умолчанию кэшируются все ответы (это не имеет никакого отношения к запросам axios) на узловом сервере, поэтому, если вы хотите исправить эту ситуацию, добавьте cache: false
build
свойство в nuxt.config.js
для универсального режима (для статического режима добавьте это свойство в generate
)
// nuxt.config.js
{
// ...
build: {
cache: false
}
// ...
}