同步操作将从 gitee-fe/osui 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
osui是基于开源组件库(例如antd),封装的一套业务性质的组件
采用monorepo模式,
快速了解monorepo基本用法:https://zhuanlan.zhihu.com/p/71385053 可以参考这篇文章快速了解monorepo的基本用法
yarn add @osui/theme
主题是必须安装的,不论是单包还是整包使用组件库,都需要主题。
yarn add @osui/icons
有些组件是需要@osui/icons
的,或者项目中需要使用icons
使用OSUI有两种方式
yarn add @osui/ui
import {Button} from '@osui/ui';
yarn add @osui/button
import Button from '@osui/button';
参考example/create-react-app/my-app
的方式,(简单粗暴的复制粘贴吧)
本主题覆盖了antd主题,因此需要参考antd create-react-app 主题替换的方案,即配合craco
使用
example/create-react-app/my-app
中,需要注意的以下几点:
package.json
中的依赖,dependencies
和devDependencies
都是必须的App.js
引入import '@osui/theme/dist/theme/vars.css';
App.less
引入@import '~antd/dist/antd.less';
antd有说明craco.config.js
是CRA没有的eslint
需要自己配置参考example/reskript/my-app
的方式,(简单粗暴的复制粘贴吧)
package.json
中的依赖,dependencies
和devDependencies
都是必须的settings.js
devLogin 关闭了,如果有需要自行打开与antd一样,需要在app入口引入less文件来添加样式。 在入口js引入下面代码:
import '@osui/theme/dist/theme/vars.css';
import '@osui/theme/antd4-styles-patch.css'; // 去掉antd动效等全局覆盖
commit请用 yarn commit
使用了commitlint,确保commit message需要遵循conventional commits,如果不满足规范,无法commit
使用 yarn commit 可以帮助你更好完成commit message。但是分类比较细致,常用的
如果不确定怎么选择,从这两个选一个。
最短操作路径: yarn commit -> 选feat或者fix -> 回车跳过 -> 输入你干了啥概述(字数限制) -> 回车跳过 -> 回车(没有breaking change的话) -> 回车
熟练之后,可以用git commit 提交符合conventional commits的message。
yarn
执行
yarn new-component 组件名
该命令会在packages/ui/
目录下创建组件名
目录,并将package.json
中的name
改为@osui/组件名
(模板在templates/component
下, 也可以手动复制到packages/ui
目录下,但要记得替换组件名
相关内容)
注意:
组件名小写字母,多个词用-
分割,例如app-layout
yarn new-component
不好用?手动方式:
templates/component
复制到packages/ui
目录下,重命名成新建组件package.json
和README.md
中的{componentName}
换成新命名的组件{CapComponentName}
换成大写字母开头,camelcase的形式组件开发代码在组件文件夹src/
目录下。开发时可以通过storybook进行调试:
stories/
目录下创建index.stories.tsx
src
中引入组件, 仿照alert
yarn
yarn storybook
示例: 参考alert
组件
packages/ui-icons
包为osui
的icon工具包,其中包含icons-builder
和osui-icons
。
icons-builder
用于制作icon,osui-icons
导出icon包。使用方法如下:
osui-icons/raw
内,命名为xxx-xxx.svg
(与组件命名方式相同)yarn workspace @osui/icons-builder generate
。会产出新的icon到osui-icons
。yarn workspace @osui/icons build
。产出dist/
目录。import {IconXxxXxx} from '@osui/icons'
。<IconXxxXxxx />
构建报错说 babel preset-env loose: true的问题,修复方式见scripts/fix-babel-loader.md (临时方案,后续会调整所有skr配置)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。