Push-обновления сайта, не влияющие на пользователя

Я работаю над своим первым веб-сайтом прямо сейчас, и когда я обновляю файл (загружаю последнюю версию на сервер), например таблицу стилей или .php файл, и я пытаюсь загрузить страницу в середине загрузки / изменения, я получаю пустой экран или сломанный CSS. Иногда необходимо очистить кеш для правильной загрузки таблицы стилей.

Как можно предотвратить это, отправляя обновления пользователям?

4

Решение

Один из способов сделать это — «очистить кеш». Каждый раз, когда вы вносите изменения в свой .css или же .js файл вы переименовываете файл.

style_v1.0.css // Release 1.0
style_v1.1.css // Release 1.1
style_v2.0.css // Release 2.0

Или сделайте это после имени файла:

style.css?v=1.0 // Release 1.0
style.css?v=1.1 // Release 1.1
style.css?v=2.0 // Release 2.0
7

Другие решения

Что касается обновлений файла .php, пользователи должны просто получать новые ответы от обновленных файлов.
Что касается CSS, я бы предложил попробовать немного JavaScript через jQuery.

В любом случае, рекомендуется не работать с живой версией веб-сайта, а в виде копии «песочницы», сохраненной на локальном компьютере или в другой папке на сервере, и после того, как вы достигнете желаемых функций, загрузите файлы ночью или когда ваш сайт имеет минимальный трафик.

0

Мы все были там и сделали это. Хотя этот вопрос, вероятно, не подходит для переполнения стека, есть вероятность, что он останется здесь, и другие найдут его. Имея это в виду, вот пример рабочего процесса, который я использую, и несколько советов:

Общие советы

  • Никогда, никогда, никогда, никогда не работайте на живом веб-сайте. Всегда делайте резервную копию и устанавливайте ее локально на вашем компьютере, используя WAMP, MAMP, LAMP или подобное
  • Настройте контроль источника. Существует множество провайдеров, которые предоставят вам бесплатный аккаунт для использования.
  • Узнайте о .git и ветвлении
  • Не используйте FTP. Полон проблем
  • SSH к вашему серверу. Если вы не уверены в том, что делаете, прочитайте несколько уроков.

Workflow

Мой типичный рабочий процесс при работе на веб-сайтах выглядит следующим образом:

  1. Клонировать репо из .git
  2. Настройте веб-сайт локально
  3. Внести изменения в файлы сайта
  4. Передайте эти изменения обратно в систему контроля версий и отправьте develop ветка.
  5. Запустите несколько тестов (селен / аналог) на код разработки
  6. Если эти тесты пройдены, объедините ветвь разработки с веткой master, выполнив git merge develop --no-ff -m "message"
  7. Настройте веб-крючок для отправки кода на ваш сервер / рабочий / рабочий сайт.
  8. Только когда-либо сделать толчок к производству в то время, когда оба:
    • Посетители находятся в нижней точке (то есть ночью)
    • Когда у вас есть достаточно времени, чтобы починить что-то не так
  9. Если при загрузке в Production возникают какие-либо проблемы, вернитесь к последней версии и выясните, что пошло не так.
0

Вы также можете добавить метку времени к своему имени файла, чтобы каждый раз, когда вы обновлялись, вы получали уникальный файл

<script src="../assets/js/header.js?rndstr=<?php echo getCurrentTimeStamp();?>"></script>


function getCurrentTimeStamp(){
return date('Y-m-d G:i:s');
}
0
По вопросам рекламы [email protected]