I published a simple but powerful React Boilerplate with Webpack 5, React 17, Tailwind 2, using babel, sass, with HMR
and an optimized production build.
Updated (newest first):
- added build-staging script. same as build but using .env.staging
- added SVGR as a webpack loader to import your SVG directly as a React Component.
- added dotenv-webpack to handle process.env.VARS
- added Prettier
- added react-refresh-webpack-plugin for HMR
- 2 PR's accepted
Installation
git clone https://github.com/altafino/react-webpack-5-tailwind-2.git
cd react-webpack-5-tailwind-2
yarn / npm i
Usage
Development server
yarn start / npm start
You can view the development server at localhost:3000.
(change port in ./config/webpack.dev.js)
Production build
yarn build / npm run build
Features
Any feedback is welcome :-)
Dependencies
webpack
webpack- Module and asset bundler.webpack-cli- Command line interface for webpackwebpack-dev-server- Development server for webpackwebpack-merge- Simplify development/production configurationcross-env- Cross platform configuration
Babel
@babel/core- Transpile ES6+ to backwards compatible JavaScript@babel/plugin-proposal-class-properties- Use properties directly on a class (an example Babel config)@babel/preset-env- Smart defaults for Babel
Loaders
babel-loader- Transpile files with Babel and webpacksass-loader- Load SCSS and compile to CSSnode-sass- Node Sasscss-loader- Resolve CSS importspostcss-loader- Loader to process CSS with PostCSSstyle-loader- Inject CSS into the DOM
Eslint
eslint-config-prettier- Turns off all rules that are unnecessary or might conflict with Prettier.eslint-import-resolver-alias- a simple Node behavior import resolution plugin for eslint-plugin-import, supporting module alias.eslint-plugin-babel- an eslint rule plugin companion to babel-eslint.eslint-plugin-import- This plugin intends to support linting of ES2015+ (ES6+) import/export syntax, and prevent issues with misspelling of file paths and import names.eslint-plugin-prettier- Runs prettier as an eslint rule.eslint-plugin-react- React specific linting rules for ESLint.
Plugins
clean-webpack-plugin- Remove/clean build folderscopy-webpack-plugin- Copy files to build directoryhtml-webpack-plugin- Generate HTML files from templatemini-css-extract-plugin- Extract CSS into separate filesoptimize-css-assets-webpack-plugin- Optimize and minimize CSS assetsterser-webpack-plugin- Optimize and minimize JavaScript
Comments (0)