- ES6 and other future JavaScripts dialects with the best transpiler babeljs.io. JSX and Flowtype syntax supported as well. Sourcemaps enabled by default.
- React with Flux with immutable global app state.
- Stateless actions and stores.
- Vanilla Flux, we don't need over abstracted frameworks.
- Webpack css livereload with hot module reload even for React components.
- Easy undo/redo and app state load/save.
- Super fast rendering with immutable.js.
- Well tuned webpack devstack with handy notifier.
- Stylesheets in CSS, LESS, SASS or Stylus.
- Optimized for critical rendering path.
Install iojs or node.js. Then install gulp.js.
npm install -g gulp
git clone https://github.com/spredfast/reactstarter.git myapp
cd myapp
npm install
- run
gulp
- point your browser to localhost:8000
gulp
run app in development modegulp -p
run app in production modegulp test
npm start
just run app, remember to set NODE_ENV=production and others enviroment variables.npm postinstall
just alias forgulp build --production
, useful for Heroku.npm test
just alias forgulp test
Code is documentation itself as it illustrates various patterns, but for start you should read something about React.js. Then you should learn what is the Flux application architecture. Now refresh you JavaScript knowledge about "new" JavaScript - learn ES6. This stack uses immutable.js and for a good reason. Check this nice short [video](https://www.youtube.com/watch?v=5yHFTN-_mOo Ok, Server side you.http://expressjs.com/), to see one of many great advantages of functional programming.
- App state snapshot: Press
shift+ctrl+s
, then open dev console and type_appState
. - Use
const
by default,let
if you have to rebind a variable. - Use
() =>
lambda expression for all predicates and anonymous functions.
Forked: Daniel Steigerwald, https://github.com/steida/este