create-react-redux-router-app
Installation
Install it once, globally
npm install -g create-react-redux-router-app
*create-react-redux-router-app
relies on create-react-app
which will need to be installed separately. Instructions can be found here.
Creating a new app
To create a new app, run
create-react-redux-router-app my-app-name
What this package is:
create-react-app
A thin wrapper around This project is a thin wrapper around Facebook's create-react-app but adds the following common libraries needed for most medium to large-sized web apps:
What this package is not:
create-react-app
A replacement for This project is not a replacement for create-react-app
, but rather a thin wrapper around it. Apps created using this project are not ejected out of create-react-app
and can still be upgraded to newer versions of react-scripts
as needed. This project also includes all the same scripts included with create-react-app
for running a development server and building production versions.
A full-stack solution
create-react-redux-router-app
makes no assumptions about the backend of your app. This project is opinionated, however, about the packages you should use for state-management and url routing.
What you get?
create-react-redux-router-app
not only installs the latest versions of the above-described packages, but also overwrites some of the default template files included with create-react-app
, specifically:
- App.js - imports a
connect()
function fromreact-redux
and connects<App />
to the Redux store. - index.js - This file wraps the
<App/>
component included withcreate-react-app
in the<Provider/>
component imported fromreact-redux
, and the<BrowserRouter/>
component imported fromreact-router-dom
. - store.js - This file imports
createStore()
fromredux
and exports as the default export a Redux store with a basic reducer.
Why is the name so horribly long?
Because you'll save so much time not having to write boilerplate code to setup your state management and routing that you can afford the extra characters in your terminal command.
Also it's descriptive.