Nếu bạn cập nhật tệp tuyến đường trong Drupal 8, làm thế nào để xóa bộ nhớ cache?


10

Đã làm việc với Drupal 7 kể từ khi ra mắt, tôi đang học Drupal 8. Hiện tại tôi thấy rằng bất cứ khi nào tôi thay đổi bất cứ điều gì tôi phải làm drush cache-rebuildđể mọi thứ hoạt động trở lại.

Trên VPS của tôi, việc này mất 15 giây (và sau đó tải trang tiếp theo cũng chậm). Tôi có cảm giác đây có thể là một cái búa tạ để phá vỡ một tình huống hạt.

Có cách nào hiệu quả hơn để khiến Drupal biên dịch lại các tuyến (đã thay đổi) từ {module}.routing.ymlcác tệp không?

Câu trả lời:


20

Bạn có thể dùng

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

để xây dựng lại thông tin định tuyến mà không xóa tất cả bộ nhớ cache.


Tiện dụng. Chỉ mất 3,5 giây, một cải tiến lớn, cảm ơn nhiều. Xấu hổ vì không có lệnh nào cho việc này.
artfulrobot

Khá chắc chắn rằng một PR để thêm một cc drush một cái gì đó sẽ được chấp nhận, đó là một trường hợp sử dụng phổ biến. Hoặc có thể là một phần của "menu drush cc", đã tồn tại nhưng có khả năng không làm được gì nhiều trong D8.
Berdir

@Berdir Điều này có vẻ phù hợp? nhưng nó không làm như câu trả lời này nói: github.com/drush-ops/drush/commit/
mẹo

Liên quan, nhưng điều đó chỉ làm mất hiệu lực các liên kết menu, vì vậy đó là về links.menu.yml. Có vẻ như nó cũng sẽ bao gồm các tuyến đường, nhiệm vụ địa phương và hành động địa phương.
Berdir

Berdir ý tưởng tốt!
Daniel Wehner

8

Một thay thế cho drush là bảng điều khiển drupal , sau đó bạn có thể sử dụng như:

drupal router:rebuild

Đó là một ít gõ hơn so với drush evcâu trả lời (và một chút tinsy nhanh hơn, quá).

Để cài đặt bàn điều khiển drupal

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

3
drush cc router    

Khi sử dụng drush 9 hãy thực hiện thủ thuật ngay bây giờ :-)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.