A Big Update Is Coming
React Hot Loader 3 is on the horizon, and you can try it today (boilerplate branch, upgrade example). It fixes some long-standing issues with both React Hot Loader and React Transform, and is intended as a replacement for both. The docs are not there yet, but they will be added before the final release. For now, this commit is a good reference.
React Hot Boilerplate
The minimal dev environment to enable live-editing React components.
⚠️ ⚠️ ⚠️ This Is Experimental and Incomplete! ⚠️ ⚠️ ⚠️
This is not a good starting point for people learning React.
It’s experimental and completely lacks any production features.
Do not use this as an actual project boilerplate!
If you’re just getting started with React, use Create React App instead.
Usage
git clone https://github.com/gaearon/react-hot-boilerplate.git
cd react-hot-boilerplate/
npm install
npm start
open http://localhost:3000
Now edit src/App.js
.
Your changes will appear without reloading the browser like in this video.
Linting
This boilerplate project includes React-friendly ESLint configuration.
npm run lint
0.0.0.0
as Host
Using You may want to change the host in server.js
and webpack.config.js
from localhost
to 0.0.0.0
to allow access from same WiFi network. This is not enabled by default because it is reported to cause problems on Windows. This may also be useful if you're using a VM.
Missing Features
This boilerplate is purposefully simple to show the minimal configuration for React Hot Loader. For a real project, you'll want to add a separate config for production with hot reloading disabled and minification enabled. You'll also want to add a router, styles and maybe combine dev server with an existing server. This is out of scope of this boilerplate, but you may want to look into other starter kits.
WebStorm
Because the WebStorm IDE uses "safe writes" by default, Webpack's file-watcher won't recognize file changes, so hot-loading won't work. To fix this, disable "safe write" in WebStorm.
Dependencies
- React
- Webpack
- webpack-dev-server
- babel-loader
- react-hot-loader
Resources
- Demo video
- react-hot-loader on Github
- Integrating JSX live reload into your workflow
- Troubleshooting guide
- Ping @dan_abramov on Twitter or #reactjs (
chat.freenode.net/reactjs
) on IRC