Якщо ви оновлюєте файл маршрутів у Drupal 8, як очистити кеш?


10

Працюючи з Drupal 7 з моменту його запуску, я навчаюсь Drupal 8. На даний момент я виявляю, що кожного разу, коли я щось міняю, я повинен робити, drush cache-rebuildщоб знову працювати.

На моєму VPS це займає 15 секунд (а потім завантаження наступної сторінки також відбувається повільно). У мене таке відчуття, що це може бути кувалда, щоб зламати ситуацію з горіхом.

Чи є більш ефективний спосіб змусити Drupal перекомпілювати (змінені) маршрути з {module}.routing.ymlфайлів?

Відповіді:


20

Можна використовувати

drush ev '\Drupal::service("router.builder")->rebuild();'

відновити інформацію про маршрутизацію, не очищаючи всі кеші.


Зручно. Займає лише 3,5 секунди, велике поліпшення, велике спасибі. Соромно, що для цього немає команди "удар".
— artfulrobot

Досить впевнений, що PR, щоб додати ударний куб-центр, було б прийнятим, це звичайний випадок використання. Або, можливо, як частина меню "drush cc", яке вже існує, але, швидше за все, у D8 мало.
— Бердір

@Berdir Це виглядає актуально? але це не так, як сказано у цій відповіді: github.com/drush-ops/drush/commit/…
— artfulrobot

Пов’язано, але це просто приводить до недійсності посилань на меню, тому мова йде про links.menu.yml. Здається, він також повинен охоплювати маршрути, місцеві завдання та місцеві дії.
— Бердір

Гарна ідея бердір!
— Даніель Венер

8

Альтернативою барабану є консоль drupal , яку потім можна використовувати як:

drupal router:rebuild

Що трохи менше набирати, ніж drush evвідповідь (і крихітний шматочок теж швидше).

Щоб встановити консоль drupal

curl -LSs http://drupalconsole.com/installer | php
mv console.phar /path/to/a/suitable/bin/drupal

3
drush cc router    

при використанні drush 9 виконайте трюк зараз :-)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.