Saya ingin mengganti komponen RequireJs hanya pada kondisi tertentu (misalnya, berdasarkan konfigurasi). Apakah ada cara untuk mencegah pemrograman memuat modul saya requirejs-config.js
atau cara lain untuk mencapainya?
magento2
magento2.2
overrides
requirejs
magento2.3
Fabian Schmengler
sumber
sumber
Jawaban:
Berdasarkan komentar @Arshad M, Anda dapat menambahkan di.xml dengan:
Dan di <Vendor> \ <ModuleName> \ RequireJs \ Config.php timpa fungsi getConfig dengan menambahkan kondisi Anda dan nama modul yang tidak Anda inginkan agar load dimuat (mungkin dari ScopeConfigInterface):
MEMPERBARUI
Setelah komentar dari @Alex dan @Daniel: Anda dapat membuat plugin after untuk getFiles dari Magento \ Framework \ RequireJs \ Config \ File \ Collector \ Aggregated, jadi di.xml baru dengan pendekatan ini adalah:
Dan di \ <Vendor> \ <ModuleName> \ Plugin \ RequireJs \ AfterFiles, Anda dapat mengatur kondisi dan modul Anda yang tidak akan memuat load:
sumber
aroundGetConfig()
atauafterGetConfig()
untuk mencapai pemuatan bersyarat maka kita tidak perlu menimpanya