butter-component-builder
v0.0.6
Published
A base class to build Butter Components
Downloads
9
Maintainers
Readme
butter-component-builder
The minimal dev environment to enable live-editing Butter React components.
Usage
in your component root tree:
npm install butter-component-builder
add this to your package.json
:
"scripts": {
"build": "webpack --config node_modules/butter-component-builder/webpack.build.js --progress --profile --colors",
"start": "node node_modules/butter-component-builder/server.js",
"lint": "eslint src"
},
then run:
npm start
open http://localhost:3000
WARNING currently you need to manually install
babel-plugin-react-transform
and react-transform-hmr
to use the
live-reloader… i don't really understand why that is, if you have any idea
please PR !
your component entry point is src/index.js
.
you can put a json file in test/data.json
, and your component will be
mounted with the test data as props.
Your changes will appear without reloading the browser like in this video.
Linting
This boilerplate project includes React-friendly ESLint configuration.
npm run lint
Using 0.0.0.0
as Host
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.
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 IRC