Cuando se llama bin/magento static-content:deploy
esto se llama:
\Magento\Deploy\Console\Command\DeployStaticContentCommand::execute()
Este método llama
$deployer = $this->objectManager->create(
'Magento\Deploy\Model\Deployer',
['filesUtil' => $filesUtil, 'output' => $output, 'isDryRun' => $options[self::DRY_RUN_OPTION]]
);
$deployer->deploy($this->objectManagerFactory, $languages);
lo que se traduce \Magento\Deploy\Model\Deployer::deploy
. Al final de este método encontrarás
foreach ($this->filesUtil->getPhtmlFiles(false, false) as $template) {
$this->htmlMinifier->minify($template);
if ($this->output->getVerbosity() >= OutputInterface::VERBOSITY_VERBOSE) {
$this->output->writeln($template . " minified\n");
} else {
$this->output->write('.');
}
$this->count++;
}
Si lo desea, puede profundizar \Magento\Framework\App\Utility::getPhtmlFiles
para ver cómo se recuperan las plantillas.
Versión corta:
llama accumulateModuleTemplateFiles
y accumulateThemeTemplateFiles
de la misma clase. Estos métodos están utilizando (al final) glob
y algunas expresiones regulares para recuperar todos los archivos de plantilla de los módulos y de los temas y la minificación se realiza mediante \Magento\Framework\View\Template\Html\Minifier
(que implementa \Magento\Framework\View\Template\Html\MinifierInterface
) en base a algunas expresiones regulares extrañas. (ver minify
método)
Lo que aún no sé es cómo se cargan estas plantillas para su uso. lo más probable es que los cargue el motor de plantillas. Volveré a publicar aquí si / cuando encuentre eso.
[EDITAR]
Encontré cuando se usan las plantillas minificadas. Cuando establece el valor para Store->Configuration->Developer->Template Settings->Minify HTML
ay Yes
cuando está en modo de producción.