React快速开发框架

本框架主要用于快速搭建项目

使用的基本库:webpack+react+react-router+typescript

ps:有不足之处请多多包涵,提出意见或者建议

目的:

前端开发大多数时间是基于市面上比较流行的成品框架开始进行开发,途中遇到的问题大都和业务相关,和技术原理相关性偏弱。并且,我在使用这些流行框架的时候也发现功能有点过多,导致很多代码都没有去仔细思考。因此,基于自己的实际项目及想法,从头搭建一个建议的项目,后续根据项目的迭代慢慢更新、优化。

框架基础库:

ReactAntdAxiosdayjsi18nextlodashstyle-componentswebpack

项目答疑:

为什么不使用Redux做全局数据管理?

之前的项目都是用过Redux,但是就项目体量来说,我暂时没有体会到Redux的便利性,我个人来说对于中小项目不使用Redux写的更舒服,数据链路更加清晰;因此我使用React自带的Reducer进行处理全局数据管理;
2.

为什么使用style-components?

为了解决多组件样式污染的问题,不过缺点就是同一个Wrapper中不能相同样式
3.

webpack进行了哪些优化?

目前根据在做的项目进行代码分隔,css压缩,通用生产环境优化等处理

代码地址:项目模版

准备工作

安装依赖

npm i

安装推荐插件并重启VSCode

  • dbaeumer.vscode-eslint
  • editorconfig.editorconfig
  • esbenp.prettier-vscode
  • stylelint.vscode-stylelint
  • styled-components.vscode-styled-components
  • lokalise.i18n-ally
  • bradlc.vscode-tailwindcss

启动项目

npm run start

打包项目

npm run build

目录说明

  • src/api 所有接口的位置
  • src/asset 静态资源
  • src/hooks hook的位置
  • src/layouts 页面布局,其中包含了Wrapper鉴权
  • src/pages/ 业务页面
  • src/router 路由配置
  • src/store/ 全局store,通过useStore()获取内容
  • src/theme/ 通用样式配置
  • src/utils 工具函数
  • types/ 全局类型定义
  • .env.development 开发环境的环境变量配置
  • .env.production 生产环境的环境变量配置
  • .eslintignore eslint配置文件
  • .gitignore git配置文件
  • .prettierignore prettier配置文件
  • .styleintignore styleint配置文件
  • public/index.html 打包模版html文件,可以更改其中的等待页面内容
  • .tailwind.config.js tailwind的配置文件
  • webpack.config.js webpack通用配置文件
  • webpack.dev.js webpack开发环境配置文件
  • webpack.prod.js webpack生产环境配置文件
相关推荐
和和和3 分钟前
React Scheduler为何采用MessageChannel调度?
前端·javascript
Ric9704 分钟前
Mac上Git不识别文件名大小写修改?一招搞定!
前端
和和和8 分钟前
前端应该知道的浏览器知识
前端·javascript
狗哥哥11 分钟前
前端基础数据中心:从混乱到统一的架构演进
前端·vue.js·架构
树深遇鹿14 分钟前
数据字典技术方案实战
前端·javascript·架构
大布布将军39 分钟前
一种名为“Webpack 配置工程师”的已故职业—— Vite 与“零配置”的快乐
前端·javascript·学习·程序人生·webpack·前端框架·学习方法
JosieBook41 分钟前
【Vue】02 Vue技术——搭建 Vue 开发框架:在VS Code中创建一个Vue项目
前端·javascript·vue.js
科普瑞传感仪器1 小时前
航空航天制造升级:机器人高精度力控打磨如何赋能复合材料加工?
java·前端·人工智能·机器人·无人机·制造
前端开发呀1 小时前
成为开源项目的Contributor:从给uView-pro 贡献一次PR开始
前端·微信小程序
1024肥宅1 小时前
JavaScript 数组原生方法手写实现
前端·javascript·ecmascript 6