Magento 2: Qu'est-ce qu'un "fichier de vue statique"

21

Si j'utilise la commande module:enableou module:disablepour activer ou désactiver un module,

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

La sortie inclura le contenu suivant

Alerte: les fichiers de vue statique générés n'ont pas été effacés. Vous pouvez les effacer en utilisant l'option --clear-static-content. Le fait de ne pas effacer les fichiers de vue statique peut entraîner des problèmes d'affichage dans l'administrateur et la vitrine.

Qu'est - ce exactement est un fichier statique de vue généré?

Où vivent ces fichiers?

Si j'inclus l' --clear-static-contentoption, est-ce que je supprime simplement des fichiers, ou cela réinitialisera-t-il également d'autres choses dans le système?

Alan Storm
la source

Réponses:

12

Il semble juste supprimer des fichiers (et imprimer une sortie). Avec cet indicateur défini, la pile contient:

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

qui vide ces répertoires (voir \ Magento \ Framework \ App \ Filesystem \ DirectoryList):

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

Si je recherche des utilisations de DirectoryList::STATIC_VIEW, je vois beaucoup de résultats, mais la plupart d'entre eux ont à voir avec le déploiement et le nettoyage de CSS et de JS fusionné. Sans creuser davantage, je pense qu'il est prudent de dire qu'une "vue statique" est un fichier d'actif statique post-traité tel que CSS et JS. Je suis curieux de voir comment les développeurs étendent et modifient cette fonctionnalité.

kojiro
la source
12

"View" fait référence à la couche de présentation (de MVC).

"Statique" signifie qu'il peut être mis en cache pour un site (ce n'est pas dynamique). Par exemple, CSS généré à partir de fichiers MOINS.

En production, nous pouvons pré-calculer les fichiers. En mode développeur, nous pouvons générer à la demande, mais le reste est mis en cache dans un fichier pour plus de rapidité. Donc, si vous chargez un nouveau module, il peut charger de nouveaux JS, CSS, fichiers de mise en page, etc. - vous devez donc vider les anciens fichiers pour vous assurer d'obtenir toutes les modifications pour le nouveau module.

Effacer le contenu statique au moment de la suppression des fichiers. Un jour, cela pourrait faire plus, mais aucun projet pour le moment.

Ils vivent dans pub / static - mais il y a aussi des fichiers en cache sous / var.

Alan Kent
la source
Merci. J'ajouterai une définition à devdocs.magento.com/guides/v1.0/config-guide/cli/…
Steve Johnson