Code Lazy Loading
Lazy loading JavaScript and components.
React Lazy Loading
React.lazy for components
import React, { lazy, Suspense } from react;
const HeavyComponent = lazy(() =>
import(./HeavyComponent)
);
function App() {
return (
fallback={Loading...}>
);
}
Route-Based Splitting
React Router lazy routes
const Home = lazy(() => import(./pages/Home));
const About = lazy(() => import(./pages/About));
const Dashboard = lazy(() => import(./pages/Dashboard));
path="/" element={ }
path="/about" element={ }
Dynamic Imports
Import on demand
async function loadChart() {
const module = await import(chart.js);
const chart = new module.default();
chart.render();
}
Load on user interaction
button.addEventListener(click, async () => {
const { heavyFunction } = await import(./heavy);
heavyFunction();
});
Preloading
Preload on hover
button.addEventListener(mouseenter, () => {
import(./heavy-module);
});
Webpack magic comments
import(
/* webpackChunkName: "my-chunk" */
/* webpackPrefetch: true */
./module
);