Какие команды компиляции необходимы в режиме разработчика и когда?

magento.stackexchange https://magento.stackexchange.com/questions/107055

Вопрос

Может ли кто-нибудь дать мне инструкции, когда запускать какие команды компиляции в режиме разработчика Magento 2?Я еще не уверен, правильно ли я это понимаю.

В документации для разработчиков режим разработчика описывается следующим образом:

  • Файлы статического представления не кэшируются;они записываются в каталог pub/static Magento каждый раз, когда их вызывают.

Означает ли это, что каждый отдельный файл в pub/static создается по запросу, и вам никогда не нужно вызывать setup:static-content:deploy?Это противоречит моему опыту.Или я могу удалить любые файлы и они будут восстановлены?Кроме того, изображения, файлы CSS и JS обрабатываются по-разному.

На странице документации режима разработчика ничего не сказано о компиляции кода, но я думаю, что разница тоже была, поэтому запускать не пришлось setup:di:compile после всех изменений в di.xml файлы.Правильно ли это, и если да, то как работает генерация кода в режиме разработчика?

Другими словами: Помимо кеша, какие команды мне нужно запускать после каких изменений?

Это было полезно?

Решение

обращать внимание:Я испытал это в режим разработчика удаление pub/static сломает механизм, потому что вы избавитесь от .htaccess файл, который творит чудеса в этой папке.

Если вы сохраните pub/static/.htaccess файл в режиме разработчика, вам не нужно запускать какую-либо команду компиляции:Magento создаст символические ссылки на файлы, как только они будут запрошены.Это означает, что изменения в статических ресурсах будут видны немедленно, если у вас также отключен кеш.

Вы можете удалить pub/static/frontend или pub/static/adminhtml вместо.

В режим по умолчанию активы материализованный в pub/static подпапку, то есть они создаются (копируются, а не создаются по символической ссылке) по первому запросу.Если вы измените их, вам придется очистить кеш, чтобы они обновились.

В режим производства ресурсы не материализуются (вызывая ошибку HTTP 404 по запросу), пока вы не запустите bin/magento setup:static-content:deploy команда.

Надеюсь, поможет.

Другие советы

Из моего опыта вам не нужно запускать какие-либо команды для генерации кода / статического файла в режиме разработчика.

Если статические файлы не были сгенерированы, может быть еще одна проблема.

Я вижу две причины для этого на первый взгляд:

    .
  • Режим разработчика не работает правильно.Возможно, активация не удалась по какой-то причине
  • Перезапись для статических файлов на пабе / Static.php не работает

Означает ли это, что каждый отдельный файл в pub/static создается по запросу, и вам никогда не нужно вызывать setup:static-content:deploy?Это противоречит моему опыту.Или я могу удалить любые файлы и они будут восстановлены?

Да.Но, по моему опыту, в большинстве случаев это не работает.Возможно, это ошибка.Лучшее решение - удалить pub/static контент и снова развертывайте статический контент всякий раз, когда вы меняете статический файл (js, css, html и т. д.), даже если вы уже активировали режим разработчика.Мой собственный вопрос по этому поводу.

Просто чтобы уточнить между тремя различными режимами (источник:Курс «Основы Magento U»).Жирным шрифтом выделены конкретные моменты, относящиеся к вашему вопросу.

режим разработчика

  • Статическая материализация файлов не включена.
  • Неперехваченные исключения, отображаемые в браузере
  • Исключения, возникающие в обработчике ошибок, не регистрируются
  • Вход в систему var/report, очень подробно.

Вы должны использовать режим разработчика, когда вы разрабатываете настройки или расширения.Основным преимуществом этого режима является то, что сообщения об ошибках видны вам.Его не следует использовать в производстве из -за его влияния на производительность. В режиме разработчика файлы статического представления генерируются каждый раз, когда их запрашивают.Они написаны в pub/static каталог, но этот кеш не используется.Это имеет большое влияние на производительность, но любые изменения, которые разработчик вносит для просмотра файлов, немедленно видны.

Неучинные исключения отображаются в браузере, а не регистрируются.Исключение выкладывается всякий раз, когда подписчик событий не может быть вызван.

Вход в систему var/report в этом режиме очень детализирован.

Режим производства

  • Этап развертывания в производственной системе;высочайшая производительность
  • Исключения не отображаются пользователю — записываются только в журналы.
  • Этот режим отключает материализацию статического файла.
  • Корневой документ Magento может иметь разрешения только на чтение.

Вы должны запустить Magento в производственном режиме, как только он будет развернут на производственном сервере.

Режим производства обеспечивает высочайшую производительность в Magento 2.

Наиболее важным аспектом этого режима является то, что ошибки регистрируются в файловой системе и никогда не отображаются пользователю. В этом режиме файлы статического представления не создаются на лету, когда их запрашивают;вместо этого их необходимо развернуть в pub/static каталог с использованием инструмента командной строки.Сгенерированные страницы будут содержать прямые ссылки на развернутые ресурсы страницы.

Любые изменения в просмотре файлов требуют повторного запуска инструмента развертывания.

Поскольку файлы представления развернуты с использованием инструмента CLI, веб -пользователь делает, чтобы получить доступ к записи.Магенто pub/static Каталог может иметь разрешения только для чтения, которые являются более безопасной настройкой на общедоступном сервере.

Режим по умолчанию

  • Используется, когда не указан другой режим.
  • Скрывает исключения от пользователя и записывает их в файлы журналов.
  • Статическая материализация файлов включена.
  • Не рекомендуется/не оптимизировано для производства:кэширование отрицательно влияет на производительность.

Как следует из названия, режим по умолчанию - это то, как работает программное обеспечение Magento, если не другой режим.

В этом режиме ошибки записываются в файлы в var/reports и никогда не показываются пользователю. Статические файлы просмотра материализуются на лету, а затем кэшируются.

В отличие от режима разработчика, изменения файлов просмотра не видны до тех пор, пока не будут очищены сгенерированные статические файлы представления.

Режим по умолчанию не оптимизирован для производственной среды, главным образом из -за неблагоприятного воздействия Статические файлы материализуются на лету, а не генерируют и развертывают их заранее.

Другими словами, Создание статических файлов на лету и их кэширование оказывает большее воздействие на производительность, чем их генерация, используя инструмент командной строки статического создания файлов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top