react-code-splitting ✂️
You're working on a great app powered by React, bundled with webpack and your bundle size increases ... You're in the right place to solve this modern JS apps nightmare.
Prerequisite
- You're using Webpack 2
- You've polyfilled Promise to support old browser
How-to
Without code splitting
<Login />
+ <Home />
are loaded at the first start
import Login from './Login'import Home from './Home' const App = user <Body> userloggedIn ? <Route ="/" = /> : <Redirect ="/login" /> <Route ="/login" = /> </Body>
With code splitting
You're not logged in ? <Login />
component is the only loaded, <Home />
will be loaded when the user will be logged in.
Use componentProps to pass props to lazy loaded component.
import Async from 'react-code-splitting' import Login from './Login'const Home = <Async = />const LostPassword = <Async = =/> const App = user <Body> userloggedIn ? <Route ="/" = /> : <Redirect ="/login" /> <Route ="/login" = /> <Route ="/lostpassword" = /> </Body>
You can view this snippets in context here !
More
- Why and how it works : Straightforward code splitting with React and Webpack
- Webpack examples