Webpack: Does the order of plugins matter?

Yes, the order matters: plugins are bound to the compiler and applied in the order specified. You can look into webpack/tapable for a clearer idea on how this works.

Usually, though, you are not forced to think about ordering when binding compiler and compilation plugins, as plugin authors expose specific events that help you reason when your handlers will be invoked.


Well, the answer is yes and no.

No because during the bundling, webpack emits several events which are fired at different phases of the compilation (you can read more about it here).

Each plugin must be hooked (by the plugin's author) to one of these events.

That being said, let's consider two plugins, A and B.

Even if A is listed before B in the config file, A will be executed before B only if it is hooked to an event that is fired before B's hooked event.

Yes because in case A and B are hooked to the same event, the execution order should be consistent with the order in the config file.