Как очистить кеш браузера в reactjs

Каждый раз, когда я вношу изменения в свой веб-сайт и пытаюсь обновить эти изменения на работающем веб-сайте, мне приходится полностью обновлять браузер. есть ли способ сделать это с помощью кода

Я уже пытаюсь найти его, но большинство из них говорят, что это невозможно. справочный пост: Как программно очистить кеш браузера?

** Заголовки ответов:

HTTP/1.1 200 OK
Server: nginx/1.12.2
Date: Fri, 06 Jul 2018 10:01:23 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Content-Encoding: gzip

** Заголовки запроса:

GET / HTTP/1.1
Host: --example--.com
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: en-GB,en-US;q=0.9,en;q=0.8,hi;q=0.7
Cookie: fingerPrint=e4a9037b8f674722f414b0b59d8d663c

Под running website вы имеете в виду свой производственный веб-сайт? Если это так, вероятно, было бы неплохо иметь несколько имен файлов очистка кеша.

Tholle 06.07.2018 11:50

Да, вы можете вызвать страницу ajax, чтобы дать вам последнюю длину страницы, если она изменится, обновится автоматически

HamzaNig 06.07.2018 11:50

Как выглядят заголовки вашего файлового кеша?

Victor Fernandes 06.07.2018 11:57

Создал компонент, который может обрабатывать обновления сборки в вашем приложении. Вы можете проверить здесь: npmjs.com/package/react-clear-cache

Noah John Ucab 26.06.2019 08:53
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
19
4
70 376
6

Ответы 6

Возможно, вы можете просто использовать jQuery. пожалуйста, взгляните на сообщение Как программно очистить кеш браузера?

Создал компонент, который может обрабатывать обновления сборки в вашем приложении. Вы можете проверить здесь: npmjs.com/package/react-clear-cache

Noah John Ucab 26.06.2019 08:53

В этом конкретном случае вы можете указать браузеру не кэшировать вашу страницу, используя эти метатеги внутри тега <head>:

<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>

Однако есть несколько способов добиться этого. Вы можете отправить соответствующие заголовки с вашим ресурсом из своего бэкенда. Или, если вы пытаетесь временно отключить кеш, вы можете сделать это, отключив кеш браузера. Для этого выполните следующие действия.

В ваших инструментах разработчика. Найдите вкладку сети и отключите кеш. Как здесь на изображении.

Надеюсь, это разрешится.

OP просит сделать это с помощью кода, конечно, он просит об этом конечного пользователя

pmiranda 10.10.2019 22:14

спасибо @pmiranda Я внес некоторые правки. Надеюсь, этот ответ соответствует операционному вопросу.

Mustkeem K 11.10.2019 16:49

Даже если приведенные ниже ответы не сработали. И вы столкнулись с проблемой типа ваше приложение кэшируется, что заставляет все приложение отображать старую сборку, тогда, вероятно, вы можете проверить эту ссылку https://github.com/facebook/create-react-app/issues/1910#issuecomment-355245212. После этого выполните запуск npm, у меня это сработало.

Это предлагает отменить регистрацию сервис-воркеров, поэтому это применимо только для PWA.

ana boies 26.05.2021 08:07

Создайте файл style.css в своей общей папке, затем свяжите этот файл CSS с файлом index.html.

Бывший:

 <link rel = "stylesheet" type = "text/css" href = "%PUBLIC_URL%/style.css?v=0.0.1" />

Всегда обновляйте версию этого файла CSS перед сборкой кода.

Сделал простую функцию по удалению кеша. Просто вызовите эту функцию, если хотите очистить кеш.

Меня устраивает. * Не тестировал на крайних случаях.

Вы можете реализовать это, сохраняя номер версии на клиенте и позволяя серверу отправлять номер версии. Если они не совпадают, вызовите функцию для удаления кеша. Или вы можете дать пользователю кнопку и позволить ему решить удалить кеш.

export default function emptyCache(){
    if ('caches' in window){
    caches.keys().then((names) => {
            // Delete all the cache files
            names.forEach(name => {
                caches.delete(name);
            })
        });

        // Makes sure the page reloads. Changes are only visible after you refresh.
        window.location.reload(true);
    }
}

Когда вы выполняете обычную сборку и выпуск в среду PROD с куском js-файлов. Лучше использовать следующий npm реагировать-очистить-кеш для вашего реагирующего приложения. Это можно использовать для настройки шаблона очистки кеша в зависимости от версии сборки вашего приложения.

Другие вопросы по теме