Coder Social home page Coder Social logo

react-starter-project's Introduction

React Starter Project (WIP)

An opinionated but fairly minimal project to get started with React, Redux, and Webpack 2.

Getting started

git clone https://github.com/techniq/react-starter-project.git
cd react-starter-project
npm install
npm start
open http://localhost:3000

Features

  • ES2015+ via babel 6, including object spread
  • React with react-router
  • Redux with react-redux, redux-thunk, redux-logger, redux-devtools (including remotedev-server)
  • Development server with hot reloading using express, webpack-dev-middleware, webpack-hot-middleware, and react-hot-loader)
  • Webpack 2 with tree shaking
    • Minified production builds (npm run build:prod)
      • NODE_ENV == 'production'
      • UglifyJs
      • Vendor bundle splitting
      • Selective imports
    • Inject index.html with cache breaking assets (js, css)
    • Import from project root (ex. import { Foo } from 'components/Foo')
  • Styles
  • Polyfills for window.fetch and babel-polyfill for ES2015 environment (Promise, Object.assign, Array.from, Array.includes, etc)
  • Linting using eslint with airbnb's javascript rules (npm run lint)
  • Performance
    • react-addons-perf and what-did-you-update

Profiling

ReactPerf.start()
// interact with app...
ReactPerf.stop()
ReactPerf.printWasted()
ReactPerf.getWasted().reduce((result, item) => result += item.inclusiveRenderDuration, 0)

TODO

  • Setup testing (npm test) using ava, enzyme, jest, etc
  • Document how to change various things (_variables.scss for colors, eslint rules, etc)
  • Document how to remove unwanted features (redux, sass, etc)
  • Document how Webpack configuration is setup (explain use for each plugin, loader, etc)
  • Provide better react-router and redux examples that can be iterated upon
  • Consider Immutable.js / seamless-immutable

react-starter-project's People

Contributors

techniq avatar

Stargazers

Mike Klimin avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.