The whole React community knows and will unanimously agree that react-boilerplate is the ultimate starter template for kickstarting a React project. It's setup with all the industry best practices and standards. But it also has a lot more than what you just need to start a react-redux app. It took me quite some time to get my head around what was happening in the codebase and it's clearly not for starters. They quote this right in their readme,
Please note that this boilerplate is production-ready and not meant for beginners! If you're just starting out with react or redux, please refer to https://github.com/petehunt/react-howto instead. If you want a solid, battle-tested base to build your next product upon and have some experience with react, this is the perfect start for you.
So it involves a lot of additional learning curve to get started with react-boilerplate. That's why I forked it, stripped it down and made this leaner, beginner friendly boilerplate without all the additional complexity.
This boilerplate features all the latest tools and practices in the industry.
- React.js - React 16✨, React Router 5
- Redux.js - Redux saga, Redux immutable and Reselect
- Babel - ES6, ESNext, Airbnb and React/Recommended config
- Webpack - Webpack 4✨, Hot Reloading, Code Splitting, Optimized Prod Build and more
- Test - Jest with Enzyme
- Lint - ESlint
- Styles - SCSS Styling
Here are a few highlights to look out for in this boilerplate
- Instant feedback
- Enjoy the best DX (Developer eXperience) and code your app at the speed of thought! Your saved changes to the CSS and JS are reflected instantaneously without refreshing the page. Preserve application state even when you update something in the underlying code!
- Next generation JavaScript
- Use template strings, object destructuring, arrow functions, JSX syntax and more, today.
- Component Specific Styles
- Separate styles for each component. Style in the good old scss way but still keep it abstracted for each component.
- Industry-standard routing
- It's natural to want to add pages (e.g. `/about`) to your application, and routing makes this possible.
- Predictable state management
- Unidirectional data flow allows for change logging and time travel debugging.
- SEO
- We support SEO (document head tags management) for search engines that support indexing of JavaScript content. (eg. Google)
But wait... there's more!
- The best test setup: Automatically guarantee code quality and non-breaking changes. (Seen a react app with 99% test coverage before?)
- The fastest fonts: Say goodbye to vacant text.
- Stay fast: Profile your app's performance from the comfort of your command line!
- Catch problems: TravisCI setup included by default, so your tests get run automatically on each code push.
- Clone this repo using
git clone https://github.com/flexdinesh/react-redux-boilerplate.git
- Move to the appropriate directory:
cd react-redux-boilerplate
. - Run
yarn
ornpm install
to install dependencies. - Run
npm start
to see the example app athttp://localhost:3000
.
Now you're ready build your beautiful React Application!
These are the things I stripped out from react-boilerplate - github project rules, ngrok tunneling, shjs, service worker, webpack dll plugin, i18n, styled-components, code generators and a few more.
MIT license, Copyright (c) 2018 Dinesh Pandiyan.
├─ app/ # 源码目录(开发都在这里进行)
│ ├─ components/ # 组件
│ ├── containers/ # 路由视图
│ ├─ tests/ # 测试
│ ├── images/ # 图片
│ ├── styles/ # 样式
│ ├── utils/ # 工具库
│ ├── app.js # 启动主文件
│ ├── configureStore.js # store文件
│ ├── index.html # 静态基页
│ ├── reducers.js # 全局reducers
├── static/ # 放置无需经由 Webpack 处理的静态文件
├── config # webpack配置
├── server # node server配置
├── .babelrc # Babel 转码配置
├── .editorconfig # Vs code编辑器配置
├── .eslintrc # ESLint 配置
├── .gitattributes # Git 相关
├── .gitignore # Git 相关
├── .travis.yml # Yml相关
├── .LICENSE.md # Markdown
├── .README.md # 项目说明
├── .jest.config.js # jest
├── .package-lock.json # 锁定版本
├── package.json # (这个就不用多解释了吧)
├── yarn.lock # yarn