🍕 提供前端研发提效工具插件,帮助开发人员更快开发前端应用 🍕
官方地址:marketplace.visualstudio.com/items?itemN…
官方自研插件说明:
- Create Application —— 提供快速创建/打开项目的能力,支持快速创建一个项目脚手架。
- CRUD Create —— 提供基于 API 接口信息,快速创建 CRUD 场景页面的能力。
- Bee Utils —— 提供开发流程中与 Bee 前端工程平台相关交互的辅助工具,包括获取项目相关迭代,切换迭代,构建迭代等。
- Snippets Utils —— 提供各种常用代码块的代码提示和快速插入能力,包括 javascript/typescript/css/ant design vue 等。
- Api Manager ——— 提供管理接口的能力,支持手动录入或导入接口,进行接口的添加和管理。
- Code Lint ——— 一键配置前端代码格式化,代码规范检查功能。
- FE Doctor ———— 一键生成质量报告📃,分析代码质量问题。
第三方依赖插件
操作:
vscode 扩展中搜索FE Tools 回车安装
项目局部配置:
选中项目根目录,右键选择 前端代码规范一键配置
根据项目架构依次选择,Reat,Javascript, npm ; 点击一键配置
点击一键配置后默认在项目根目录下生成.husky和.vscode文件, 同时package.json 文件中也安装了相关依赖
注意:请务必不要删除
检查lint
执行 code-lint-all
命令检查本地eslint 如有报错,请在.vscod> code-lint-react.json 下修改
检查husky
插件默认安装的husky版本为7.0.4;因此npm 版本需要7.X及以上 ,如遇报错请参考yx-lint 解决方案yunxikeji.yuque.com/kktlil/cryb…
添加git hook
husky文件创建 pre-commit 及 commit-msg
- 创建 pre-commit hook 执行 lint
npx husky add .husky/_/pre-commit "npm run code-lint-all"
创建 commit-msg hook 执行 commitlint
npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"'
请注意$1为linux,在win环境下请分开执行
npx husky add .husky/commit-msg
具体pre-commit配置如下:
#!/bin/sh
###
# @Author: 路飞
# @Date: 2022-07-13 09:34:30
# @LastEditors: 路飞
# @LastEditTime: 2022-07-13 11:38:22
# @Description: file content
# @FilePath: \yx-tools\yx-docter.husky_\pre-commit
###
. "$(dirname "$0")/_/husky.sh"
# 这里就是唤醒lint-staged
npm run code-lint-all
具体commit-msg配置如下:
#!/bin/sh
###
# @Author: 路飞
# @Date: 2022-07-13 09:34:30
# @LastEditors: 路飞
# @LastEditTime: 2022-07-13 12:04:00
# @Description: file content
# @FilePath: \yx-tools\yx-docter.husky_\commit-msg
###
# commit-msg: 就是git commit msg的时候去触发对应的逻辑
# 一般我们在这里验证commit msg的验证
. "$(dirname "$0")/_/husky.sh"
# npx 是npm的一个免安装工具,
# 本质就是可以临时download执行某个二进制
# npx --no-install commitlint --edit $1
# 提交记录检查
yarn commitlint --edit $1
# 格式化检查
# yarn format:check
# eslint检查
# yarn lint:checkundefined
npx --no-install commitlint --edit $1
添加规范commitlint
安装:
npm install -D @commitlint/config-conventional @commitlint/cli
在项目根目录新建文件:commitlint.config.js
具体配置如下:
/*
* @Author: 路飞
* @Date: 2022-07-13 11:10:19
* @LastEditors: 路飞
* @LastEditTime: 2022-07-13 11:11:00
* @Description: 手动配置添加规则
* @FilePath: \yx-tools\yx-docter\commitlint.config.js
*/
module.exports = {
extends: ['@commitlint/config-angular'],
// 自定义规则匹配RX客户要求
rules: {
'subject-case': [0, 'never'],
'type-enum': [
2, // 代表必须输入
'always',
[
'build', // 主要目的是修改项目构建系统(例如 glup,webpack,rollup 的配置等)的提交
'ci', // 主要目的是修改项目继续集成流程(例如 Travis,Jenkins,GitLab CI,Circle等)的提交
'docs', // 文档更新,仅仅修改了文档,比如README, CHANGELOG, CONTRIBUTE等等
'feat', // 新增功能
'fix', // bug 修复
'style', // 不影响程序逻辑的代码修改(修改空白字符,格式缩进,补全缺失的分号等,没有改变代码逻辑)
'test', // 新增测试用例或是更新现有测试,测试用例,包括单元测试、集成测试等
'merge', // 分支合并 Merge branch ? of ?
'perf', // 性能, 体验优化,比如提升性能、体验
'refactor', // 重构代码(既没有新增功能,也没有修复 bug)
'revert', // 回滚到上一个版本 ,或某个更早之前的提交
'chore' // 不属于以上类型的其他类型,改变构建流程、或者增加依赖库、工具等
]
]
}
}
测试
正确提交示例
如:feat: 增加产品分期类型(feat + 英文冒号 +空格+ 具体描述)
至此项目在提交前先执行静态检查,再执行提交规范
生成质量报告
项目根目录右键 选择-生成质量报告
总结:
虽然是拿来主义,但这类工具非常实用,代码静态检查,git提交规范,结合依赖可视化,在CI之前避免一些初级错误 codeReview阶段省去很多人工操作,让开发人员仅专注在业务层面的review
也是devops不可缺少个重要一环,
经过上述操作:review后合并代码,结合sonar扫描,再构建,灰度,发布