Xóa chủ đề / CSS Cache trong Magento 2


28

Khi tôi theo chủ đề một cửa hàng Magento 2, cách gợi ý để dọn dẹp bộ đệm là gì?

Tôi chỉnh sửa các .lesstập tin và sau đó tôi hiện đang làm

rm -rf pub/static/frontend/* var/view_preprocessed/ var/*cache/*

Nhưng đây dường như là phương pháp vũ phu.

php bin/magento cache:flush --all

dường như không làm được việc

Có một cái tốt hơn?


vì câu hỏi của bạn vẫn chưa được giải quyết, xin vui lòng xem câu trả lời của tôi ở đây: magento.stackexchange.com/a/101139/27685 , tôi nghĩ có thể giúp đỡ.
MauroNigrele 17/2/2016

Tôi cũng gặp nhiều vấn đề với CSS / Ít được lưu vào bộ nhớ cache, việc xóa thủ công mô-đun đã thay đổi trong pub / static đôi khi có ích nhưng không phải lúc nào cũng vậy. M2 đang tỏ ra khó khăn khi làm việc với
Ben Crook

Câu trả lời:


18

Tôi nghĩ cách đúng đắn để làm mới các tập tin .less bây giờ

php bin/magento setup:static-content:deploy

Bởi vì nó "Thu thập, xử lý và xuất bản các tệp LESS nguồn"

Một điểm khác là nó sử dụng chế độ dev trong quá trình phát triển, theo tài liệu "Các tệp xem tĩnh không được lưu trong bộ nhớ cache; chúng được ghi vào thư mục tĩnh / thư mục tĩnh Magento mỗi khi chúng được gọi"

Để đặt Magento 2 thành chế độ Nhà phát triển, bạn cần thực hiện các bước sau

  1. Xóa nội dung của thư mục var / Generation và var / di:

    rm -rf <your Magento install dir>/var/di/* <your Magento install dir>/var/generation/*

  2. Đặt chế độ:

    php bin/magento setup:mode:set developer


1
không còn deploy:mode:setlệnh như vậy nữa (beta2). Nhưng tôi đặt MAGE_MODEqua SetEnv. Vì dev:css:deploytôi phải nhập tên tập tin. Tôi nên sử dụng cái nào?
Alex

xin lỗi, đây là xấu của tôi setup: static-content: triển khai là lệnh chính xác để làm điều đó. cũng triển khai: mode: set có vẻ như vẫn hoạt động với tôi, bạn cũng không có nó trong danh sách lệnh của bin / magento chứ?
FireBear

hiểu rồi, triển khai: mode: set cũng được thay đổi thành setup: mode: set theo goo.gl/Pive1U
FireBear

Tôi vẫn đang thử thứ này ...
Alex

"Các tệp xem tĩnh không được lưu trong bộ nhớ cache; chúng được ghi vào thư mục tĩnh / thư mục tĩnh Magento mỗi khi chúng được gọi" Tôi nghĩ rằng tài liệu sai. Có một RewriteCond !-ftrong .htaccesstrong pub/staticmà làm cho Apache để sử dụng phiên bản cache nếu nó tồn tại.
Alex

2

Có ba cách để xóa bộ đệm css, nếu những thay đổi không phản ánh.

1. Thay vào đó hãy sử dụng Grunt để bạn không cần xóa bộ nhớ cache sau mỗi lần thay đổi css (cách được khuyến nghị), bạn có thể xem thêm tài liệu về grunt từ kiểm tra liên kết này

2. Chuyển đến hệ thống> Quản lý bộ đệm> Quản lý bộ đệm bổ sung> Xóa bộ đệm JavaScript / CSS.

nhập mô tả hình ảnh ở đây

3. Chạy lệnh triển khai (việc này mất nhiều thời gian và không phải là một khuyến nghị tốt, cũng thay đổi chế độ thành nhà phát triển nếu nó không ở đó.)

php bin/magento setup:static-content:deploy

1

Tôi nghĩ rằng pub/staticnội dung (trong chế độ dev) được tạo với cùng logic được sử dụng chovar/generation các tệp, ý tôi là, nếu nội dung bắt buộc không tồn tại thì được tạo nhưng nếu đã tồn tại thì được sử dụng lại.

Vì vậy, tôi nghĩ rằng bạn cũng nên dọn dẹp pub/static[area]hoặc chạy setup:static-content:deployđể ghi đè tất cả nhưng quá trình này rất chậm để chạy mỗi khi bạn thực hiện thay đổi.


0

Trong chế độ nhà phát triển, thay vì xóa thủ công pub/staticvar/view_preprocessed.

Đi đến System > Tools > Cache Managementvà nhấp vào Flush Cache Files Cache .



0

Để xóa bộ nhớ cache magento trong lệnh như bạn có thể chạy:

bin/magento cache:flush

Để xóa bộ nhớ cache, bạn có thể chạy:

bin/magento cache:clean

Để kiểm tra trạng thái chạy bộ đệm (trạng thái nên bật 1 cho hoạt động và 0 cho vô hiệu hóa):

bin/magento cache:status

Để vô hiệu hóa tất cả bộ đệm magento cùng chạy:

bin/magento cache:disable

Để bật bộ đệm chạy:

bin/magento cache:enable

Nhưng tôi nghĩ vấn đề của bạn nằm ở chế độ Magento được đặt ở chế độ sản xuất. Bạn có thể kiểm tra chế độ của mình bằng cách sử dụng: bin/magento deploy:mode:show Bạn có thể đọc thêm về chế độ phát triển và sản xuất magento tại đây

Để thay thế cho chế độ nhà phát triển, bin/magento setup:static-content:deploybạn có thể sử dụng bin/magento setup:upgradenó để xóa mã được biên dịch và bộ đệm. Hoặc đơn giản là xóa thủ công bất cứ thứ gì từ pub/staticthư mục của dự án mà bạn cần cập nhật. Nếu thiếu một cái gì đó từ thư mục đó sẽ được tạo lại với những thay đổi mới nhất.

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.