Очистити кеш тем / CSS в Magento 2


28

Коли я тематизую магазин Magento 2, що пропонується очистити кеші?

Я редагую .lessфайли, а потім і зараз

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

Але це, здається, метод грубої сили.

php bin/magento cache:flush --all

начебто не робить роботу.

Чи є кращий?


Оскільки ваше питання все ще залишається невирішеним, погляньте на мою відповідь тут: magento.stackexchange.com/a/101139/27685 , я можу допомогти.
MauroNigrele

У мене також багато проблем з тим, що CSS / Менше кешується, видалення зміненого модуля в пабі / static іноді допомагає, але не завжди. З М2 важко працювати
Бен Крук

Відповіді:


18

Я думаю, що правильний спосіб оновити .less файли тепер це

php bin/magento setup:static-content:deploy

Тому що він "Збирає, обробляє та публікує вихідні МЕНШІ файли"

Інший момент - це використання режиму розробки під час розробки, то згідно документації "Файли статичного перегляду не кешуються; вони записуються в папку Magento pub / static щоразу, коли вони викликаються"

Щоб встановити Magento 2 в режимі розробника, потрібно виконати наступні дії

  1. Видаліть вміст каталогів var / generation та var / di:

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

  2. Встановити режим:

    php bin/magento setup:mode:set developer


1
такої deploy:mode:setкоманди вже немає (beta2). Але я встановив MAGE_MODEчерез SetEnv. Бо dev:css:deployя повинен ввести ім'я файлу. Який я повинен використовувати?
Олексій

вибачте, це було моє погано. setup: статичний контент: розгорнути це правильна команда для цього. також розгорнути: mode: set, здається, все ще працює для мене, у вас немає його також у списку команд bin / magento?
FireBear

отримав його, розгорніть: режим: set було також змінено на налаштування: режим: встановлено відповідно до goo.gl/Pive1U
FireBear

Я все ще пробую цей матеріал ...
Алекс

"Файли статичного перегляду не кешовані; вони записуються в каталог Magento pub / static щоразу, коли вони викликаються", я думаю, що документ неправильний. Є RewriteCond !-fв, .htaccessв pub/staticякому змушує Apache використовувати кешовану версію, якщо вона існує.
Олексій

2

Існує три способи очищення кешу css, якщо зміни не відображаються.

1. Використовуйте натомість Grunt, щоб вам не потрібно було очищати кеш після кожної зміни css (рекомендований спосіб), ви можете ознайомитись із додатковою документацією про grunt, переглянувши це посилання

2. Перейдіть до системи> Керування кешами> Додаткове кеш-керування> Очищення кеша JavaScript / CSS.

введіть тут опис зображення

3. Запустіть команду розгортання (для цього потрібна довга і не дуже хороша рекомендація; також змініть режим на розробника, якщо його немає, то немає).

php bin/magento setup:static-content:deploy

1

Я думаю, що pub/staticвміст (в режимі dev) генерується з тією ж логікою, що і для var/generationфайлів, я маю на увазі, якщо потрібний вміст не існує, то створюється, але якщо вже існує, він повторно використовується.

Тому я думаю, що вам слід також чистити pub/static[area]або бігати, setup:static-content:deployщоб перекрити все, але цей процес дуже повільно запускається щоразу, коли ви вносите зміни.


0

У режимі розробника замість очищення вручну pub/staticта var/view_preprocessed.

Перейдіть до System > Tools > Cache Managementі натисніть Очистити кеш статичних файлів .



0

Щоб змити кеш magento в такій команді, як ви можете запустити:

bin/magento cache:flush

Щоб очистити кеш пам’яті, можна запустити:

bin/magento cache:clean

Щоб перевірити стан запуску кешу (статус повинен бути на 1 для активного та 0 для відключеного):

bin/magento cache:status

Щоб відключити кеш magento, всі разом запустіть:

bin/magento cache:disable

Щоб увімкнути запуск кешу:

bin/magento cache:enable

Але я думаю, що ваша проблема перебуває в режимі Magento, встановленому в режимі виробництва. Ви можете перевірити свій режим, скориставшись: bin/magento deploy:mode:show Докладніше про виробництво магенто та режим розробника тут

В якості альтернативи для режиму розробника bin/magento setup:static-content:deployви можете використовувати bin/magento setup:upgradeочищає складений код і кеш. Або просто вручну видаліть що-небудь із pub/staticпапки вашого проекту, яку вам потрібно оновити. Якщо щось не вистачає в цій папці, буде відновлено з останніми змінами.

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