Awesome
Styled React Boilerplate āļø š
Minimal & Modern Boilerplate for building apps with React & styled-components
Highlights
- Less complex than create-react-app
- Features styled-components
- Uses React Hooks
- Includes optimized Webpack & Babel configuration
- Perfect Lighthouse score
- Non-blocking CSS & fonts loading
- Friendly errors & warnings
- Ensures clean code with xo & stylelint
- Normalizes default browser style with modern-normalize
- HTML template with social media meta tags
- Targets the latest browsers
- Works offline
- Preconfigured React Refresh using react-refresh-webpack-plugin
File Tree
āāā public # Folder for static assets
āĀ Ā āāā favicon.png # Favicon
āĀ Ā āāā index.html # HTML template
āāā src # Main folder
āĀ Ā āāā components # Subfolder with components
āĀ Ā āĀ Ā āāā button.js
āĀ Ā āĀ Ā āāā container.js
āĀ Ā āĀ Ā āāā counter.js
āĀ Ā āĀ Ā āāā header.js
āĀ Ā āĀ Ā āāā image.js
āĀ Ā āāā app.js # Main page file
āĀ Ā āāā index.js # React DOM, service worker config
āāā webpack.config.js # Webpack config
āāā babel.config.js # Babel config
Usage
# Install dependencies
$ npm install
# Start webpack-dev-server at port 8080
$ npm start
# Run linters
$ npm test
# Build app for production (gets output in the 'dist' directory)
$ npm run build
FAQ
How to deploy my app?
I recommend to use either Vercel or Netlify for hosting your site.
How to add & use static assets (ex. images)?
Place them in the public
directory in the root of the project. You can then use them like in the example below:
// Import files from the `public` directory
import imgSrc from '../../public/favicon.png';
// Then you can reference it like so:
const Image = () => (
<img src={imgSrc} alt="ā”"/>
);
Check out the Image
component for a live example.
TODO
- PWA
- Testing
- module & nomodule support
Related
License
MIT