Saat memanggil bin/magento static-content:deploy
ini dipanggil:
\Magento\Deploy\Console\Command\DeployStaticContentCommand::execute()
Metode ini memanggil
$deployer = $this->objectManager->create(
'Magento\Deploy\Model\Deployer',
['filesUtil' => $filesUtil, 'output' => $output, 'isDryRun' => $options[self::DRY_RUN_OPTION]]
);
$deployer->deploy($this->objectManagerFactory, $languages);
yang diterjemahkan menjadi \Magento\Deploy\Model\Deployer::deploy
. Di bagian bawah metode ini Anda akan menemukan
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++;
}
Jika mau, Anda dapat menggali lebih dalam \Magento\Framework\App\Utility::getPhtmlFiles
untuk melihat bagaimana templat diambil.
Versi singkat:
Memanggil accumulateModuleTemplateFiles
dan accumulateThemeTemplateFiles
dari kelas yang sama. Metode ini menggunakan (pada akhirnya) glob
dan beberapa ekspresi reguler untuk mengambil semua file templat dari modul dan dari tema dan minifying dilakukan oleh \Magento\Framework\View\Template\Html\Minifier
(yang mengimplementasikan \Magento\Framework\View\Template\Html\MinifierInterface
) berdasarkan pada beberapa ekspresi reguler yang aneh. (lihat minify
metode).
Masalahnya saya belum tahu, bagaimana template ini dimuat untuk digunakan. kemungkinan besar mereka dimuat oleh mesin template. Saya akan memposting kembali di sini jika / ketika saya menemukan itu.
[EDIT]
Saya temukan ketika templat yang diperkecil digunakan. Ketika Anda menetapkan nilai untuk Store->Configuration->Developer->Template Settings->Minify HTML
untuk Yes
dan ketika pada mode produksi.