react系列-react项目实战
ANTD
官方文档:https://ant.design/docs/react/introduce-cn
github:https://github.com/ant-design/ant-design/
修改默认配置
如果使用常规的手段是需要将 create-react-app 的配置全部暴露出来,进行手动修改配置,会造成后期维护困难等问题。
方案:
- react-app-rewired + customize-cra(antd 早期推荐的方案)
- craco(目前 antd 推荐的方案)
优化
antd 是否会将一些没有用的代码(组件或逻辑代码)引入,造成包很大
antd 官网有提到: antd 的 JS 代码默认支持基于 ES modules 的 tree shaking,对于 js 部分,直接引入 import { Button } from 'antd'
就会有按需加载的效果。
ANTD Pro
参考链接:https://ant.design/docs/react/practical-projects-cn
这是一个基于 umi、dva 和 ant design 的开箱即用的中台前端/设计解决方案。
umi
umi 则是一个可插拔的企业级 react 应用框架。umi 以路由为基础的,支持类 next.js 的约定式路由,以及各种进阶的路由功能,并以此进行功能扩展,比如支持路由级的按需加载。然后配以完善的插件体系,覆盖从源码到构建产物的每个生命周期,支持各种功能扩展和业务需求,同时提供 Umi UI 通过可视化辅助编程(VAP)提高开发体验和研发效率。
使用
初始化
# 使用 npm
npx create-umi myapp
# 使用 yarn
yarn create umi myapp
网易云音乐 web
真实项目:
项目参考:
https://github.com/coderwhy/hy-react-web-music
https://github.com/wanguano/Music163-React
React + TypeScript 打造自己的组件库
参考文档:ts in jsx - https://www.typescriptlang.org/docs/handbook/jsx.html
完成一个组件库需要考虑的问题
- 代码结构,参考文章:https://zh-hans.reactjs.org/docs/faq-structure.html
- 样式解决方案,参考文章:https://zh-hans.reactjs.org/docs/faq-styling.html
- 组件需求分析和编码
- 组件测试用例分析和编码
- 代码打包输出和发布
- CI/CD,文档生成等