node package manager

generator-react-sta

React Static Boilerplate

NPM version NPM downloads Build Status Dependency Status GitHub Issues To-do In progress

Static website starter kit powered by React.js and Webpack

Features

    ✓ Modern JavaScript syntax (ES2015+) via Babel
    ✓ Modern CSS syntax (CSS3+) via PostCSS
    ✓ Application state management via Redux
    ✓ Routing and navigation via React App, Universal Router, History
    ✓ Modular styles via CSS Modules
    ✓ Code-splitting and async chunk loading
    ✓ Hot Module Replacement (HMR) /w React Hot Loader
    ✓ Bundling and optimization with Webpack
    ✓ Cross-device testing with Browsersync
    ✓ Easy deployment to GitHub Pages, Amazon S3 or Firebase
    ✓ Yeoman generator (generator-react-sta)
    ✓ 24/7 community support on Gitter or StackOverflow
    ✓ Customization requests on Codementor

Sponsors

       

Directory Layout

.
├── /build/                     # The folder for compiled output 
├── /node_modules/              # 3rd-party libraries and utilities 
├── /components/                # Shared/generic UI components 
│   ├── /layout/                # Layout component 
│   ├── /button/                # Button component 
│   └── /...                    # etc. 
├── /core/                      # Core framework 
│   ├── /app.js                 # Application entry point (bootstrap) 
│   ├── /store.js               # Application state manager (Redux) 
│   └── /...                    # etc. 
├── /routes/                    # View/screen UI components + routing information 
│   ├── /about/                 # About page 
│   ├── /error/                 # Error page 
│   ├── /home/                  # Home page 
│   └── /...                    # etc. 
├── /static/                    # Static files such as favicon.ico etc. 
├── /test/                      # Unit and integration tests 
├── /tools/                     # Build automation scripts and utilities 
│── LICENSE.txt                 # Licensing information 
│── package.json                # The list of project dependencies and NPM scripts 
└── README.md                   # Project overview / getting started guide 

Getting Started

Just clone the repo, install Node.js modules and run npm start:

$ git clone -o generator-react-sta -b master --single-branch \
      https://github.com/zanjs/generator-react-sta.git MyApp
cd MyApp
$ npm install           # Install project dependencies listed in package.json 
$ npm start             # Build and launch the app, same as "node tools/start.js" 

NODE: Make sure that you have Node.js v6 installed on your local machine.

How to Test

The unit tests are powered by chai and mocha.

$ npm test

How to Deploy

$ npm run deploy                # Deploys the project to GitHub Pages 

Alternatively, you can build a production release to manually deploy to S3, Firebase, Netlify, and other static hosts. Simply run the command below and copy the generated build folder to your static host.

$ npm run build release         # Build production release  

How to Update

You can always fetch and merge the recent changes from this repo back into your own project:

$ git checkout master
$ git fetch generator-react-sta
$ git merge generator-react-sta/master
$ npm install

Backers

Love React Static Boilerplate work and community? Help us keep it alive by donating funds to cover project expenses!

Related Projects

  • React Starter Kit — Isomorphic web app boilerplate (Node.js, React, GraphQL, Webpack, CSS Modules)
  • Babel Starter Kit — JavaScript library boilerplate (ES2015, Babel, Rollup, Mocha, Chai, Sinon, Rewire)
  • React App — Bootstrap React app with routing, navigation, context variables and title/meta management
  • Universal Router — Isomorphic router for web and single-page applications (SPA)
  • History — HTML5 History API wrapper library
  • Membership Database — SQL schema boilerplate for user accounts, roles and auth tokens

Learn More

License

Copyright © 2015-2016 Julian. This source code is licensed under the MIT license found in the LICENSE.txt file.


Made with ♥ by Julian (@zanjs) and contributors