Magento 2 Module load order position is the topic to point you the right load order in your component’s
module.xml file. If you want to understand the dependencies among the components using your component’s
composer.json, it is obviously that you really need to know the correct load order in your component’s
module.xml file using the
The responsibility of the
<sequence> tag is notifying you that what components have to loaded before the current component is loaded. The
<sequence> is especially supported when you implement the loading of different types of file such as configuration files, view files (including CSS, LESS, and template files), or setup classes.
In addition, if you need to load the regular classes (non-setup classes), there is no influence of the
<sequence> tag on that implementation.
Note: The classes are called as setup classes when they are included by the component that creates or updates database schema or data.
To run your project fluently, you should use
module.xml file if ensuring that your needed component’s logic rely upon another component.
Here we will refer to Component A and Component B. Suppose that Component A introduces
gadgetlayout.xml, which allows updating block
gadgetBlock from component B. At that time, you need to clarify that in component B’s
<sequence> entry in
module.xml file. So now we will start with component A which needs a configuration file from component B.
Case 1: The files, which come with the same type, will be loaded from various components while the sequence information in each component’s
module.xml file are considered as well.
Case 2: Suppose that you need to load a list of the layout files with the name
default.xml and component A designates component B in
<sequence>. The following is the load order of the files:
/view/frontend/layout/default.xml— Either we don’t care about when component X loads or perhaps component B requires it to be loaded before it.
/view/frontend/layout/default.xml—Loads after component B because component B is listed in component A’s
/view/frontend/layout/default.xml— Either we don’t care about the sequence for component Z or perhaps component Z requires component A files to be loaded before it.
Maybe you need to know, in
<sequence> tag, you can mention any valid component without any limitation and besides, you also should be sure that that component is declared in the require section of the