Skip to content

About

Basic setup for react/webpack/babel

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

basic-react-setup

Basic setup for react/webpack/babel

Initializing the project

npm init -y

Installing required dependencies:

webpack webpack-cli // installs webpack

webpack-dev-server // webpack's development server for hot-loading while programming

react react-dom // installs react

@babel/core babel-loader @babel/preset-env @babel/preset-react // installs babel and presets necessary for JSX

html-webpack-plugin html-loader // webpack loader/plugin for html files

style-loader css-loader // webpack loader for css files

npm i webpack webpack-cli webpack-dev-server react react-dom @babel/core babel-loader @babel/preset-env @babel/preset-react html-webpack-plugin html-loader style-loader css-loader --save-dev

webpack.config.js

const HtmlWebPackPlugin = require("html-webpack-plugin");
module.exports = {
  module: {
    rules: [
      {
        test: /\.(js|jsx)$/,
        exclude: /node_modules/,
        use: {
          loader: "babel-loader"
        }
      },
      {
        test: /\.html$/,
        use: [
          {
            loader: "html-loader"
          }
        ]
      },
      {
        test: /\.css$/,
        use: [ "style-loader" , "css-loader" ]
      }
    ]
  },
  plugins: [
    new HtmlWebPackPlugin({
      template: "./src/index.html",
      filename: "./index.html"
    })
  ]
};

.babelrc

{    
	"presets": ["@babel/preset-env" , "@babel/preset-react"]
}

Add scripts to package.json

"scripts": {
  "build": "webpack --mode production",
  "start": "webpack-dev-server --open --hot --mode development"
},

index.html

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Basic React Setup</title>
    </head>
    <body>
        <div id="root"></div>
    </body>
</html>

index.js

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App.js';

const root = document.getElementById('root');
root ? ReactDOM.render(<App /> , root) : false;

About

Basic setup for react/webpack/babel

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages