/create-react-webpack

Create-React-Webpack

Primary LanguageJavaScript

create-react-webpack

Create React Application with all standard practices, with easy formats which is known to users, so that users can easily modify the various config files as needed.

Creating an App

npm

install module

npm i -g create-react-webpack

creating your react app

create-react-webpack demo-app

Once installed globally, above command i.e create-react-webpack for bootstraping new application will be available through out the system.

it will create a directory demo-app in the current folder, with below file footprint.

demo-app
├── README.md
├── node_modules
├── package.json
├── .gitignore
├── .babelrc
├── .eslintrc.json
├── .eslintignore
├── .prettierrc
├── .prettierignore
├── docker
│   ├── dev.js
│   ├── docker-compose.yml
│   └── Dockerfile.dev
├── public
│   ├── favicon.ico
│   ├── index.html
│   └── manifest.json
└── src
│   ├── App.css
│   ├── App.js
│   ├── App.spec.js
│   └── index.js
├── webpack.config.base.js
├── webpack.config.dev.js
└── webpack.config.prod.js
create-react-webpack demo-app -e

It includes the node server for deploying into production into your demo-app, with below file footprint.

demo-app
├── README.md
├── node_modules
├── package.json
├── .gitignore
├── .babelrc
├── .eslintrc.json
├── .eslintignore
├── .prettierrc
├── .prettierignore
├── docker
│   ├── dev.js
│   ├── docker-compose.yml
│   └── Dockerfile.dev
├── public
│   ├── favicon.ico
│   ├── index.html
│   └── manifest.json
├── server
│   └── index.js
├── src
│   ├── App.css
│   ├── App.js
│   ├── App.spec.js
│   └── index.js
├── webpack.config.base.js
├── webpack.config.dev.js
└── webpack.config.prod.js

Available Scripts

After creating project directory you can run following scripts:-

npm run build

builds the application for production to the dist folder inside directory.
Uses webpack prod config along with base config

npm start

Start the production server on default port 3000.
Read files from dist folder.
before running this first run npm run build.

npm run dev

Start the development server on default port 8080.
Starts server in hot mode but doesn't preserve state of component if any while reloading.

npm run docker:dev

Start the development server inside the docker container.
Maps machines port 8080 to docker container port 8080.
Helpful in case you want to do development inside container keeping the environment same for everyone, removes the need for changing node version for different applications.

npm run dev:hot

Start the development server on default port 8080.
Starts server in hot mode preserves state of component also if any while applying hot load patch.

npm test

Launches Test Runner in the intreactive manner.

npm run format

Enforces the formatting rules defined in .prettierrc.
For inforcing your rules replace the file or content of prettierrc.

npm run lint

Enforces the linting rules defined in .eslintrc.
For inforcing your rules replace the file or content of eslintrc.
Here we are using prettier for formatting and eslint for enforcing rules related to best coding practices.