React Redux Firebase Boilerplate 使用教程
1、项目的目录结构及介绍
react-redux-firebase-boilerplate/
├── src/
│ ├── index.js
│ ├── App.js
│ ├── components/
│ ├── containers/
│ ├── reducers/
│ ├── actions/
│ ├── store/
│ ├── styles/
│ └── utils/
├── public/
│ ├── index.html
│ └── favicon.ico
├── .babelrc
├── .editorconfig
├── .eslintrc
├── .firebaserc
├── .gitignore
├── .travis.yml
├── LICENSE
├── README.md
├── database-rules.json
├── firebase.json
├── jsconfig.json
├── package.json
└── webpack.config.js
目录结构介绍
src/
: 包含项目的源代码文件。index.js
: 项目的入口文件。App.js
: 主应用组件。components/
: 存放可复用的React组件。containers/
: 存放容器组件。reducers/
: 存放Redux reducer。actions/
: 存放Redux action。store/
: 存放Redux store配置。styles/
: 存放样式文件。utils/
: 存放工具函数。
public/
: 包含公共资源文件。index.html
: 主HTML文件。favicon.ico
: 网站图标。
.babelrc
: Babel配置文件。.editorconfig
: 编辑器配置文件。.eslintrc
: ESLint配置文件。.firebaserc
: Firebase项目配置文件。.gitignore
: Git忽略文件配置。.travis.yml
: Travis CI配置文件。LICENSE
: 项目许可证。README.md
: 项目说明文档。database-rules.json
: Firebase数据库规则。firebase.json
: Firebase配置文件。jsconfig.json
: JavaScript配置文件。package.json
: 项目依赖和脚本配置。webpack.config.js
: Webpack配置文件。
2、项目的启动文件介绍
src/index.js
这是项目的入口文件,负责初始化React应用和Redux store。
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import store from './store';
import App from './App';
ReactDOM.render(
<Provider store={store}>
<App />
</Provider>,
document.getElementById('root')
);
public/index.html
这是主HTML文件,包含一个div
元素,React应用将渲染到这个元素中。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>React Redux Firebase Boilerplate</title>
</head>
<body>
<div id="root"></div>
</body>
</html>
3、项目的配置文件介绍
package.json
包含项目的依赖和脚本配置。
{
"name": "react-redux-firebase-boilerplate",
"version": "1.0.0",
"scripts": {
"start": "npm run build && pm2 start dist/index.js",
"build": "webpack --config webpack.config.js",
"dev": "webpack-dev-server --config webpack.config.js --hot",
"lint": "eslint src/"
},
"dependencies": {
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-redux": "^7.2.4",
"redux": "^4.1.0",
"firebase": "^9.0.2"
},
"devDependencies": {
"webpack": "^5.44.0",
"webpack-dev-server": "^3.11.2",
"