Me gustaría reemplazar un componente RequireJs solo en ciertas condiciones (por ejemplo, según la configuración). ¿Hay alguna forma de evitar mediante programación la carga de mi módulo requirejs-config.js
o una forma diferente de lograrlo?
magento2
magento2.2
overrides
requirejs
magento2.3
Fabian Schmengler
fuente
fuente
Respuestas:
Según el comentario de @Arshad M, puede agregar un di.xml con:
Y en <Vendor> \ <ModuleName> \ RequireJs \ Config.php anula la función getConfig agregando su condición y el nombre del módulo que no desea que se cargue el requirejs (probablemente desde ScopeConfigInterface):
ACTUALIZAR
Después de los comentarios de @Alex y @Daniel: puede crear un complemento posterior para getFiles desde Magento \ Framework \ RequireJs \ Config \ File \ Collector \ Aggregated, por lo que el nuevo di.xml con este enfoque sería:
Y en \ <Vendor> \ <ModuleName> \ Plugin \ RequireJs \ AfterFiles, puede establecer su condición y módulo para que los requirejs no se carguen:
fuente
aroundGetConfig()
oafterGetConfig()
para lograr la carga condicional, entonces no tenemos que sobrescribirlo