Beim Aufruf wird bin/magento static-content:deploy
dies aufgerufen:
\Magento\Deploy\Console\Command\DeployStaticContentCommand::execute()
Diese Methode ruft auf
$deployer = $this->objectManager->create(
'Magento\Deploy\Model\Deployer',
['filesUtil' => $filesUtil, 'output' => $output, 'isDryRun' => $options[self::DRY_RUN_OPTION]]
);
$deployer->deploy($this->objectManagerFactory, $languages);
was übersetzt bedeutet \Magento\Deploy\Model\Deployer::deploy
. Am Ende dieser Methode finden Sie
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++;
}
Wenn Sie möchten, können Sie genauer untersuchen \Magento\Framework\App\Utility::getPhtmlFiles
, wie die Vorlagen abgerufen werden.
Kurzversion:
Es ruft accumulateModuleTemplateFiles
und accumulateThemeTemplateFiles
aus der gleichen Klasse. Diese Methoden verwenden (am Ende) glob
und einige reguläre Ausdrücke, um alle Vorlagendateien aus den Modulen und aus den Themen abzurufen, und das Minimieren erfolgt durch \Magento\Framework\View\Template\Html\Minifier
(das implementiert \Magento\Framework\View\Template\Html\MinifierInterface
) basierend auf einigen seltsamen regulären Ausdrücken. (siehe minify
Methode).
Was ich noch nicht weiß, ist, wie diese Vorlagen zur Verwendung geladen werden. höchstwahrscheinlich werden sie von der Template-Engine geladen. Ich werde hier zurück posten, wenn ich das finde.
[BEARBEITEN]
Ich habe festgestellt, wann die minimierten Vorlagen verwendet werden. Wenn Sie den Wert für Store->Configuration->Developer->Template Settings->Minify HTML
zu Yes
und wenn sie auf den Produktionsmodus.