基于 vue3.0 的简单 ui 组件库
npm install
npm run serve
npm run build
npm run lint
internalInstance.ctx 禁止使用 proxy.$el.
文档迁移编写 测试打包
文档 迁移 vitepress
1.样式重构
2.be-select 支持绑定对象;
3.be-notification 单元测试
1.服务式访问的全局绑定
2.组件引用编写
序号 | 名称 | 组件 | 完成状态 | 单元测试 |
---|---|---|---|---|
1 | 布局容器 | be-container | √ | √ |
2 | 右键菜单 | be-contextmenu | √ | √ |
3 | 对话框 | be-dialog | √ | √ |
4 | 输入框 | be-input | √ | × |
5 | 载入 | be-loading | √ | √ |
6 | 消息对话 | be-message-box | √ | √ |
7 | 分页 | be-pager | √ | × |
8 | 图标 | be-icon | √ | √ |
9 | 消息通知 | be-notification | √ | × |
10 | 文本省略 | be-ellipsis | √ | √ |
11 | 弹出显示 | be-popover | √ | × |
12 | 文本弹出显示 | be-toolTip | √ | × |
13 | 按钮 | be-button | √ | √ |
14 | 自动补全输入 | be-autocomplete | √ | × |
15 | 标签 | be-tag | √ | √ |
16 | refactor style 选择框 | be-select | √ | × |
17 | 消息提示 | be-message | √ | √ |
18 | 数字输入 | be-input-number | √ | √ |
19 | 开关 | be-switch | √ | √ |
20 | 面包屑 | be-breadcrumb | √ | √ |
21 | 进度条 | be-progress | √ | √ |
- npm install -save-dev @commitlint/cli @commitlint/config-conventional
- 新建文件 commitlint.config.js,内容:module.exports = {extends: ['@commitlint/config-conventional']}
- npm install husky --save-dev
- npm set-script prepare "husky install"
- npm run prepare
- npx husky add .husky/pre-commit "npm run commit"
- git add .husky/pre-commit
- npx husky add .husky/commit-msg "npx --no -- commitlint --edit $1"
- 在 package.json 的 script 里面配置"commit": "这里面添加 eslint、单测、stylelint 等"
- 提交时执行命令例如 git commit -am "optimize: 项目添加 commitlint 本地校验配置" 或 git commit -m "optimize: 项目添加 commitlint 本地校验配置"
工作空间定义
pnpm-workspace.yaml
packages:
- 'packages/**' # 组件库代码
- docs
package.json
"devDependencies": {
"@be-ui/docs": "workspace:^1.0.0",
....
}
docs/package.json
{
"name": "@be-ui/docs"
....
}
-w 在工作目录中启动
pnpm install -D -w
pnpm add package
pnpm update 根据指定的范围更新软件包的最新版本。
在不带参数的情况下使用时,将更新所有依赖关系。 您可以使用一些模式来更新特定的依赖项。
pnpm up 遵循 package.json 指定的范围更新所有的依赖项
pnpm up --latest 更新所有依赖项,此操作会忽略 package.json 指定的范围
pnpm up foo@2 将 foo 更新到 v2 上的最新版本
pnpm up "@babel/*" 更新 @babel 范围内的所有依赖项
--prod, -P
仅更新在 dependencies 和 optionalDependencies 中的依赖项。
--dev, -D
仅更新在 devDependencies 中的依赖项。
pnpm env use --global 16
甚至能指定使用的 node 版本
pnpm.overrides 此字段允许您指示 pnpm 覆盖依赖关系图中的任何依赖项。 这对于您强制所有的 packages 使用单个版本的依赖项,或做后移植的修复,或用一个 fork 来替换依赖项时将十分有用。
请注意,overrides 字段只能在项目的根目录下设置。
{
"pnpm": {
"overrides": {
"foo": "^1.0.0",
"quux": "npm:@myorg/quux@^1.0.0",
"bar@^2.1.0": "3.0.0",
"qar@1>zoo": "2"
}
}
}
peerDependencies 通常用来声明核心依赖库 假设插件 A 和插件 B 依赖于 Vue,如果放在 dependencies 中声明那么他们 都会安装 Vue 依赖,若子项目将其 Vue 声明在 peerDependencies 中 只要需要主项目 dependencies 中声明 Vue 即可,避免插件重复安装依赖
"peerDependencies": {
"vue": "^3.2.33",
"@vue/shared": "^3.2.33",
"@popperjs/core": "^2.11.5"
},