С помощью style-loader вы можете пометить некоторые из ваших файлов css как ленивые и вызвать .use()
при монтировании маршрута и .unuse()
при размонтировании маршрута.
import styles from './styles.lazy.css';
export function LegacyRoute() {
useLayoutEffect(() => {
styles.use();
return () => { styles.unuse() };
}, []);
return <p>Hello World</p>;
}
webpack config :
module.exports = {
module: {
rules: [
{
test: /\.css$/i,
exclude: /\.lazy\.css$/i,
use: ['style-loader', 'css-loader'],
},
{
test: /\.lazy\.css$/i,
use: [
{ loader: 'style-loader', options: { injectType: 'lazyStyleTag' } },
'css-loader',
],
},
],
},
};
Источник: https://github.com/webpack-contrib/style-loader#lazystyletag