Очистить тему / CSS Cache в Magento 2

28

Когда я покупаю магазин Magento 2, каков способ очистки кешей?

Я редактирую .lessфайлы, а затем в настоящее время я делаю

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

Но это похоже на метод грубой силы.

php bin/magento cache:flush --all

кажется, не делает работу.

Есть ли лучший?

Alex
источник
поскольку ваш вопрос все еще не решен, пожалуйста, посмотрите на мой ответ здесь: magento.stackexchange.com/a/101139/27685 , я думаю, что это может помочь.
MauroNigrele
У меня также много проблем с кэшированием CSS / Less, иногда помогает вручную удалить измененный модуль в pub / static, но не всегда. M2 оказывается трудным для работы
Бен Крук

Ответы:

18

Я думаю, что правильный способ обновить .less файлы теперь это

php bin/magento setup:static-content:deploy

Потому что он "собирает, обрабатывает и публикует исходные файлы LESS"

Еще один момент - использование режима разработки во время разработки, а затем в соответствии с документацией «Файлы статического представления не кэшируются; они записываются в каталог puben / static Magento при каждом вызове».

Чтобы установить 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

FireBear
источник
1
такой deploy:mode:setкоманды больше нет (бета2). Но я установил MAGE_MODEчерез SetEnv. Потому что dev:css:deployя должен ввести имя файла. Какой я должен использовать?
Алекс
извини, это было мое плохо setup: static-content: deploy является правильной командой для этого. также deploy: mode: set, похоже, все еще работает для меня, у вас его нет в списке команд bin / magento?
FireBear
получил, разверните: режим: набор был изменен также на настройку: режим: установлен в соответствии с goo.gl/Pive1U
FireBear
Я все еще пытаюсь это сделать ...
Алекс
«Файлы статического представления не кэшируются; они записываются в каталог puben / static Magento каждый раз, когда они называются« Я думаю, что документ неправильный. Существует RewriteCond !-fв, .htaccessв pub/staticкотором Apache использует кэшированную версию, если она существует.
Алекс
2

Существует три способа очистки кэша css, если изменения не отражаются.

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

2. Перейдите в систему> Управление кэшем> Дополнительное управление кэшем> Очистить кэш JavaScript / CSS.

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

3. Запустите команду deploy (это занимает много времени и не очень хорошая рекомендация, также измените режим на developer, если его там нет).

php bin/magento setup:static-content:deploy
Рухани
источник
1

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

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

MauroNigrele
источник
0

В режиме разработчика вместо ручного сброса pub/staticи var/view_preprocessed.

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

Ключ Шан
источник
0

Чтобы очистить magento cache в команде, вы можете запустить:

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 Вы можете узнать больше о magento production и mode для разработчиков здесь

В качестве альтернативы для режима разработчика bin/magento setup:static-content:deployвы можете использовать bin/magento setup:upgradeего очищает скомпилированный код и кеш. Или просто вручную удалите что-нибудь из pub/staticпапки вашего проекта, которую вам нужно обновить. Если чего-то не хватает в этой папке, она будет сгенерирована заново с последними изменениями.

Андрей
источник