Tema Magento 2 "kosong" mencakup hierarki tag berikut.
<exclude>
<item type="file">Lib::jquery/jquery-ui-1.9.2.js</item>
<item type="file">Lib::jquery/jquery.ba-hashchange.min.js</item>
<item type="file">Lib::jquery/jquery.details.js</item>
<item type="file">Lib::jquery/jquery.details.min.js</item>
<item type="file">Lib::jquery/jquery.hoverIntent.js</item>
<item type="file">Lib::jquery/jquery.min.js</item>
<item type="file">Lib::mage/captcha.js</item>
<item type="file">Lib::mage/dropdown_old.js</item>
<item type="file">Lib::mage/list.js</item>
<item type="file">Lib::mage/loader_old.js</item>
<item type="file">Lib::mage/webapi.js</item>
<item type="file">Lib::moment.js</item>
<item type="file">Lib::requirejs/require.js</item>
<item type="file">Lib::date-format-normalizer.js</item>
<item type="file">Lib::legacy-build.min.js</item>
<item type="directory">Lib::modernizr</item>
<item type="directory">Lib::tiny_mce</item>
<item type="directory">Lib::varien</item>
<item type="directory">Lib::jquery/editableMultiselect</item>
<item type="directory">Lib::jquery/jstree</item>
<item type="directory">Lib::jquery/fileUploader</item>
<item type="directory">Lib::css</item>
<item type="directory">Lib::lib</item>
<item type="directory">Lib::extjs</item>
<item type="directory">Lib::prototype</item>
<item type="directory">Lib::scriptaculous</item>
<item type="directory">Lib::mage/requirejs</item>
<item type="directory">Lib::mage/adminhtml</item>
<item type="directory">Lib::mage/backend</item>
<item type="directory">Magento_Swagger::swagger-ui</item>
</exclude>
Untuk apa ini. yaitu apa yang dikecualikan dari apa? Di mana dan kapan kode sistem Magento 2 mengakses informasi ini?
Jawaban:
Magento 2 mendukung bundling file js / html.
<exclude>
simpul menentukan daftar sumber daya yang tidak boleh dibundel. lihat\Magento\Framework\View\Asset\Bundle\Manager
detailnyasumber
Konfigurasi ini diakses ketika Anda menjalankan perintah
Dalam fungsi ini
\Magento\Deploy\Model\Deployer::deployFile
, dua panggilan berikut ini menarik:Panggilan pertama akan menambahkan file aset ke sistem file. Saya tidak yakin apa yang dilakukan panggilan kedua dengan tepat. Di situlah saya tersesat.
Namun, jika Anda mengikuti panggilan kedua ini, Anda akan menemukan beberapa fungsi validasi, yang akhirnya mengarah ke
Tapi, ada beberapa masalah di sini.
Pertama, fungsi ini
\Magento\Framework\Config\View::getItems
sepertinya selalu mengembalikan array kosong.Kedua, fungsi
\Magento\Framework\View\Asset\Bundle\Manager::isExcludedFile
akan selalu kembalifalse
Karena
$asset->getSourceFile()
adalah jalur absolut ke file aset, sedangkan$filePathInfo['excludedPath']
jalur relatif.Jadi, sejauh yang saya bisa lihat
<exclude>
konfigurasi tidak akan berhasil. Tetapi jika itu akan berhasil, aset akan dikeluarkan dari\Magento\Framework\View\Asset\Bundle
.sumber