Code splitting is a technique used by module bundlers to split your code into various smaller bundles which can be loaded on demand or in parallel.
The main purpose is to minimize the amount of scripts that needs to be loaded, parsed, compiled, and executed to result in faster page load times.
Code splitting can be achieved at different levels — component, route, library — by using proposal syntax dynamic imports, 3rd-party libraries, bundler plugins, or framework features.
Loadable-components is a library for loading components with dynamic imports, similar to
React.lazy but has support for SSR and library splitting.