Project initially based on template boilerplate app React Redux Universal Hot Example
What you can find running under the hood here (Please note that this list is mostly copied from the mentioned boilerplate):
-
IsomorphicUniversal rendering -
Both client and server make calls to load data from separate API server
-
Babel for ES6 and ES7 magic
-
Webpack for bundling
-
Redux Dev Tools for next generation DX (developer experience). Watch Dan Abramov's talk.
-
React Router Redux Redux/React Router bindings.
-
ESLint to maintain a consistent code style
-
redux-form to manage form state in Redux
-
lru-memoize to speed up form validation
-
multireducer to combine single reducers into one key-based reducer
-
style-loader, sass-loader and less-loader to allow import of stylesheets in plain css, sass and less,
-
react-helmet to manage title and meta tag information on both server and client
-
webpack-isomorphic-tools to allow require() work for statics both on client and server
-
mocha to allow writing unit tests for the project.
-
material-ui as I got a bit bored with bootstrap and wanted to check something new.
npm install
npm run dev
The first time it may take a little while to generate the first webpack-assets.json
and complain with a few dozen [webpack-isomorphic-tools] (waiting for the first Webpack build to finish)
printouts, but be patient. Give it 30 seconds.
Redux Devtools are enabled by default in development.
- CTRL+Q Toggle DevTools Dock
- CTRL+M Move DevTools Dock Position
- see redux-devtools-dock-monitor for more detailed information.
If you have the Redux DevTools chrome extension installed it will automatically be used on the client-side instead.
If you want to disable the dev tools during development, set __DEVTOOLS__
to false
in /webpack/dev.config.js
.
DevTools are not enabled during production.
npm run build
npm run start
Nothing to see here at the moment :(
The project uses Mocha to run your unit tests, it uses Karma as the test runner, it enables the feature that you are able to render your tests to the browser (e.g: Firefox, Chrome etc.), which means you are able to use the Test Utilities from Facebook api like renderIntoDocument()
.
To run the tests in the project, just simply run npm test
if you have Chrome
installed, it will be automatically launched as a test service for you.
To keep watching your test suites that you are working on, just set singleRun: false
in the karma.conf.js
file. Please be sure set it to true
if you are running npm test
on a continuous integration server (travis-ci, etc).
Not yet :P