https://liaoyongfu.github.io/vv-components/index.html
收集一下项目中常用到的组件吧!顺便学一下 Typescript。
$ yarn add vv-components
// or
$ npm install vv-components --save
import { TablePagination } from 'vv-components';
const Demo = props => {
return (
<div>
<TablePagination />
</div>
);
};
使用 eslint-config-vv进行配置,具体配置方法详见 eslint-config-vv 说明文档
// package.json
{
...,
scripts: {
...,
"precommit": "lint-staged",
...
},
"lint-staged": {
"**/*.tsx": [
"npm run lint",
"git add"
]
}
}
git add .
后,yarn commit
命令进行提交,而不是 git commit -m 'xxx'
。提交时的日志需要遵从此规范。当你提交后,还会进行 commit 日志校验,如果不符合规范会报错。see: https://docs.gitlab.com/ee/user/project/merge_requests/
merge request
develop
分支的 MR 指定审查者WIP:
(WIP MR 含义是 在工作过程中的合并请求,是一个我们在 GitLab 中避免 MR 在准备就绪前被合并的技术)WIP:
审查者code review 审查通过后 你的 merge request 将被合并到 develop
审查者更新组件库
- QuickForm
- index.tsx
- QuickForm.tsx
- QuickForm.test.tsx
- QuickForm.less
- README.md
所以我们在项目中使用的情况下,需要结合 babel-plugin-import
按需加载样式:
// .babelrc
plugins: [
[
"import",
{
libraryName: 'vv-frontend-components',
libraryDirectory: 'lib/components', // default: lib
customName: (name) => {
if(name === 'utils'){
return 'vv-frontend-components/lib/utils/' + name;
}
return 'vv-frontend-components/lib/components/' + name;
},
style: name => {
if(name.indexOf('utils') !== -1) return false;
let filepath = name.split('/');
return `${name}/${filepath[filepath.length - 1]}.css`;
}, // 使用类似 QuickForm/QuickForm.less 样式文件
camel2DashComponentName: false // 不转换名称为横岗,因为我们和组件文件夹名称是大写的
}
]
]
babel-plugin-import
按需加载了 antd 的样式,现在不会有没有样式的问题了。"husky": {
"hooks": {
"prepare-commit-msg": "exec < /dev/tty && git cz --hook"
}
}