Magento 2: Co to jest „plik widoku statycznego”

21

Jeśli użyję polecenia module:enablelub, module:disableaby włączyć lub wyłączyć moduł,

php bin/magento module:enable Pulsestorm_TutorialObjectManager1
php bin/magento module:enable Pulsestorm_TutorialObjectManager1

Dane wyjściowe będą zawierać następującą zawartość

Alert: Wygenerowane pliki widoku statycznego nie zostały wyczyszczone. Możesz je wyczyścić, używając opcji --clear-static-content. Brak czyszczenia plików widoku statycznego może powodować problemy z wyświetlaniem w panelu administracyjnym i witrynie sklepowej.

Czym dokładnie jest plik widoku generowany statycznie?

Gdzie znajdują się te pliki?

Jeśli uwzględnię --clear-static-contentopcję, czy po prostu usuwam pliki, czy też spowoduje to zresetowanie innych rzeczy w systemie?

Alan Storm
źródło

Odpowiedzi:

12

Wydaje się, aby usunąć pliki (i wydrukować część danych wyjściowych). Po ustawieniu tej flagi stos zawiera:

\Magento\Setup\Console\Command\AbstractModuleCommand::cleanup
\Magento\Framework\App\State\CleanupFiles::clearMaterializedViewFiles

który opróżnia te katalogi (patrz \ Magento \ Framework \ App \ Filesystem \ DirectoryList):

DirectoryList::STATIC_VIEW == 'static'
DirectoryList::VAR_DIR == 'var'
DirectoryList::TMP_MATERIALIZATION_DIR == 'view_preprocessed'

Jeśli szukam zastosowań DirectoryList::STATIC_VIEW, widzę dużo danych wyjściowych, ale przede wszystkim większość dotyczy wdrażania i czyszczenia CSS oraz scalonego JS. Bez dalszego kopania uważam, że można bezpiecznie powiedzieć, że „widok statyczny” to przetworzony plik zasobów statycznych, taki jak CSS i JS. Jestem ciekawy, jak programiści rozszerzają i modyfikują tę funkcję.

kojiro
źródło
12

„Widok” odnosi się do warstwy prezentacji (z MVC).

„Statyczny” oznacza, że ​​może być buforowany dla witryny (nie jest dynamiczny). Np. CSS generowany z plików LESS.

W produkcji możemy wstępnie obliczyć pliki. W trybie programisty możemy generować na żądanie, ale reszta jest zapisywana w pamięci podręcznej w celu zwiększenia szybkości. Więc jeśli załadujesz nowy moduł, może załadować nowy JS, CSS, plik układu itp. - więc musisz opróżnić stare pliki, aby upewnić się, że otrzymałeś wszystkie zmiany dla nowego modułu.

Usuwanie statycznych treści natychmiast usuwa pliki. Pewnego dnia może zrobić więcej, ale nie znam jeszcze żadnych planów.

Żyją w pub / static - ale pliki / buforowane są również w katalogu / var.

Alan Kent
źródło
Dzięki. Dodam definicję do devdocs.magento.com/guides/v1.0/config-guide/cli/…
Steve Johnson