- Get started - Type
npm install
to install dependencies andnpm start
to start development in your default browser. - Testing - Each time you hit save, changes hot reload and linting and automated tests run.
- One command line to check - All feedback is displayed on a single command line.
- Automated production build - Type
npm run build
to do all this:
- Install Node 4.0.0 or greater - (5.0 or greater is recommended for optimal build performance). Need to run multiple versions of Node? Use nvm.
- Install Git.
- Disable safe write in your editor to assure hot reloading works properly.
- On a Mac? You're all set. If you're on Linux or Windows, complete the steps for your OS below.
On Linux:
- Run this to increase the limit on the number of files Linux will watch.
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
On Windows:
- Install Python 2.7. Some node modules may rely on node-gyp, which requires Python on Windows.
- Install C++ Compiler. Browser-sync requires a C++ compiler on Windows. Visual Studio Express comes bundled with a free C++ compiler. Or, if you already have Visual Studio installed: Open Visual Studio and go to File -> New -> Project -> Visual C++ -> Install Visual C++ Tools for Windows Desktop. The C++ compiler is used to compile browser-sync (and perhaps other Node modules).
This starter offers a rich development experience using the following technologies:
Tech | Description |
---|---|
React | Fast, composable client-side components. |
Redux | Enforces unidirectional data flows and immutable, hot reloadable store. Supports time-travel debugging. Lean alternative to Facebook's Flux. |
React Router | A complete routing library for React |
Babel | Compiles ES6 to ES5. Enjoy the new version of JavaScript today. |
Webpack | Bundles npm packages and our JS into a single file. Includes hot reloading via react-transform-hmr. |
Browsersync | Lightweight development HTTP server that supports synchronized testing and debugging on multiple devices. |
Jest | Automated tests with built-in expect assertions and Enzyme for DOM testing without a browser using Node. |
TrackJS | JavaScript error tracking. |
ESLint | Lint JS. Reports syntax and style issues. Using eslint-plugin-react for additional React specific linting rules. |
SASS | Compiled CSS styles with variables, functions, and more. |
PostCSS | Transform styles with JS plugins. Used to autoprefix CSS |
Editor Config | Enforce consistent editor settings (spaces vs tabs, etc). |
npm Scripts | Glues all this together in a handy automated build. |