zp-bee,是一款基于 Dumi,由 React + TypeScript 开发的组件库 🎉。
npm install zp-beezp-bee,是一款基于 Dumi,由 React + TypeScript 开发的组件库 🎉。如果你也想学习组件开发,欢迎加入或提供意见,该项目会长期更新,欢迎你的 start⭐
- 🌈 提炼组件库设计良好的视觉风格
- 📦 渐进式探索高质量的前端代码的实现
- 🛡 使用 TypeScript 开发,提升开发体验
- ✅ 组件内部使用 antd 风格,以及 antd 内部颜色
- 📖 提供开发过程的文档思路,助力你学习组件开发
- 🔖 该项目会长期维护,并不断探索最佳实践
我们推荐使用 npm 或 yarn 的方式进行开发,不仅可在开发环境轻松调试,也可放心地在生产环境打包部署使用,享受整个生态圈和工具链带来的诸多好处。
``js`
npm install zp-bee --save
`js`
yarn add zp-bee
zp-bee默认支持基于 ES modules 的 tree shaking,对于 js 部分,直接引入 import { BeeInput } from 'zp-bee' 就会有按需加载的效果。
使用babel-plugin-import帮助我们引入样式
`js`
[
'import',
{ libraryName: 'zp-bee', libraryDirectory: 'lib', style: true },
'zp-bee',
];
zp-bee使用 TypeScript 进行书写并提供了完整的定义文件。
强烈建议优先用 yalc 来联调组件库(比 yarn link 更稳定,基本不会踩到“双 React / 双 antd / 双 rc-table 导致 Context 为 null”的坑)。
1. 全局安装 yalc(一次即可):
`bash`
npm i -g yalc
2. 在组件库工程(本仓库)开两个终端:
`bash`终端 1:TS/JS 构建 watch(输出到 lib/es)
yarn build:js:watch
`bash`终端 2:样式构建 watch(输出 index.css 到 lib/es)
yarn build:css:watch
3. 在组件库工程执行一次发布到本地 yalc 仓库:
`bash`
yalc publish --push
4. 在宿主工程安装并使用本地包:
`bash`
yalc add zp-bee
yarn
5. 后续开发时,每次改动你可以在组件库工程执行:
`bash`
yalc publish --push
宿主工程会自动更新到最新的本地包内容(通常配合宿主 dev server 即可热更新/刷新)。
如果你必须用 yarn link,请确保宿主工程和组件库工程 只使用同一份 react/react-dom(必要时 antd/rc-table):
- 宿主工程执行:yarn link react && yarn link react-domyarn link react && yarn link react-dom
- 组件库工程执行:
并在宿主工程配置打包器做 dedupe/alias(按你的宿主工程技术栈配置:Vite/Next/CRA/Webpack)。
- 在 master 分支下切出新分支,分支命名为即将发布的版本号,例: v0.1.80yarn v-release
- 修改代码内容
- 运行更新 package.json 中的version字段yarn release`把包发布到 npm 上,也可自己手动 build 后 publish
- 运行
- 代码推至远程之后,发起 mr 到 master 分支上,指派给代码库管理员 review
_发包之前要慎重,最好的方式还是代码合并到 master 之后由管理员进行发包,目前管理员可能并无过多精力做此内容,遂适当赋能 developer_