Обязательно ли очищать кеш для каждого внесенного изменения?

Для очистки кешей требуется больше времени, и это также необходимо делать чаще для каждого изменения CSS или функциональности.

Существуют ли альтернативы?

5
nl ja de

4 ответы

Отключить кэширование Drupal 8 во время разработки

Когда вы разрабатываете модуль или тему, вам нужно очистить Drupal's   кеш (кэш кэша, динамический кеш страниц, кэш Twig) очень часто, чтобы видеть   применяемые изменения. Вы можете отключить кеширование для разработки.

меры

  1. Скопируйте и переименуйте файл sites/example.settings.local.php в сайты/default/settings.local.php :
$ cp sites/example.settings.local.php sites/default/settings.local.php
  1. Раскомментируйте эти строки в сайтах/default/settings.php :
if (file_exists(__DIR__ . '/settings.local.php')) {
    include __DIR__ . '/settings.local.php';
}
  1. If you want to keep CSS and JS aggregation and preprocessing, change these lines in sites/default/settings.local.php to TRUE:
$config['system.performance']['css']['preprocess'] = TRUE;
$config['system.performance']['js']['preprocess'] = TRUE;
  1. Раскомментируйте эту строку в sites/default/settings.local.php :
$settings['cache']['bins']['render'] = 'cache.backend.null';
$settings['cache']['bins']['dynamic_page_cache'] = cache.backend.null';
  1. Добавьте следующие строки в sites/development.services.yml :
parameters:
  twig.config:
    debug: true
    auto_reload: true
    cache: false

(источник: drupal.org )

7
добавлено

Более простой способ « Отключить кэширование Drupal 8 во время разработки » использует DrupalConsole.

drupal site:mode dev

Source - Debugging compiled Twig templates

5
добавлено
Это больше не работает.
добавлено автор TY1, источник

Зависит от вашей рабочей зоны.

Шаги 01)

a) Вы можете отключить кеш из/admin/config/development/perfИЛИmance

b) Вы можете скопировать файл с сайтов/example.settings.local.php на сайты/default/example.settings.local.php, а затем заменить на settings.local.php. Для этого файла вы можете прокомментировать следующие коды из settings.php.

/**
 * Load local development override configuration, if available.
 *
 * Use settings.local.php to override variables on secondary (staging,
 * development, etc) installations of this site. Typically used to disable
 * caching, JavaScript/CSS compression, re-routing of outgoing emails, and
 * other things that should not happen on development and testing sites.
 *
 * Keep this code block at the end of this file to take full effect.
 */
if (file_exists(__DIR__ . '/settings.local.php')) {
  include __DIR__ . '/settings.local.php';
}

Затем вы должны прокомментировать следующий раздел: /sites/default/settings.local.php

/**
 * Disable the render cache (this includes the page cache).
 *
 * Note: you should test with the render cache enabled, to ensure the cИЛИrect
 * cacheability metadata is present. However, in the early stages of
 * development, you may want to disable it.
 *
 * This setting disables the render cache by using the Null cache back-end
 * defined by the development.services.yml file above.
 *
 * Do not use this setting until after the site is installed.
 */
$settings['cache']['bins']['render'] = 'cache.backend.null';

Если вы можете получить сообщение об ошибке. Не волнуйтесь. Просто введите адресную строку вашего браузера your_site_domain.com/rebuild.php.

Шаги 02)

Специально для Drupal 8 есть хорошие инструменты, называемые Drupal Console. Установка и документация замечательны. Вы можете увидеть, используя сайт http://www.drupalconsole.com/ .

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

$ Drupal cache:rebuild

ИЛИ

$ Drupal cr all
2
добавлено

Source Disable Drupal 8 caching during development

меры

<�Ол>   
  • Скопировать и переименовать сайты/example.settings.local.php для сайтов/default/settings.local.php
  •   </Ол>

$ cp sites/example.settings.local.php sites/default/settings.local.php

  1. Open settings.php file in sites/default and uncomment these lines:

    if (file_exists(DIR . '/settings.local.php')) { include DIR . '/settings.local.php'; }

Это будет файл локальных настроек как часть файла настроек Drupal.

      
  1. Откройте settings.local.php и раскомментируйте эту строку, чтобы включить службу нулевого кеша:
  2.   </Ол>      

    $ settings ['container_yamls'] [] = DRUPAL_ROOT.   '/sites/development.services.yml'; </р>

ПРИМЕЧАНИЕ. Не создавайте development.services.yml. Он существует под/sites

      
  1. В settings.local.php измените следующее значение TRUE, если вы хотите работать с включенной css- и js-агрегацией:
  2.   </Ол>      

    $ config ['system.performance'] ['css'] ['preprocess'] = FALSE;   $ config ['system.performance'] ['js'] ['preprocess'] = FALSE;

         
        
    1. Раскомментируйте эти строки в settings.local.php, чтобы отключить кеш рендеринга и отключить динамический кэш страниц.
    2.   </Ол>      

      $ settings ['cache'] ['bins'] ['render'] = 'cache.backend.null';   $ settings ['cache'] ['bins'] ['dynamic_page_cache'] =   'Cache.backend.null'; </р>

Если вы не хотите устанавливать тестовые модули и темы, установите для FALSE следующее:

$ settings ['extension_discovery_scan_tests'] = TRUE;

     
      
  1. Откройте файл development.services.yml в папке сайтов и добавьте следующий блок (чтобы отключить кеш-ветку)
  2.   </Ол>

параметры:   twig.config:     debug: true     auto_reload: true     cache: false

      
  1. После этого вам нужно перестроить кэш Drupal. В противном случае ваш сайт столкнется с непредвиденной ошибкой при перезагрузке страницы. Это может быть   сделанный с помощью drush:
  2.   </Ол>      

    drush cr

или посетив следующий URL-адрес с вашего сайта Drupal 8:

http: //yoursite/core/rebuild.php

      
  1. Готово! Теперь вы можете разрабатывать Drupal 8 без ручного восстановления кэша на регулярной основе.
  2.   </Ол>
1
добавлено