记录用到的一些库

211 阅读4分钟

react

1. ahooks

一套高质量可靠的 React Hooks 库
主要使用:
  - useRequest:异步数据管理的 Hooks。
  - useUrlState: 该 Hooks 基于 `react-router` 的 useLocation & useHistory & useNavigate 进行 query 管理。
  - useDebounceFn / useThrottleFn
  - useLockFn:用于给一个异步函数增加竞态锁,防止并发执行。
  - useTitle:设置页面标题。
  - useScroll:监听元素的滚动位置。

2. react-dnd 拖拽

3. react tookit 箱即用的一个高效的 Redux 开发工具集

3. unocss

原子化 CSS 使用方法

3. dayjs

  Moment.js 的 2kB 轻量化方案,拥有同样强大的 API

vite

1.vite-plugin-purge-icons

 本章的插件是可以让我们很方便高效的使用[Iconify](https://iconify.design/)中所有的图标。

2.rollup-plugin-visualizer

可视化并分析你的 Rollup 包,看看哪些模块占用了空间

3. vite-plugin-compression

压缩用成.gz/.br等格式

webpack

常用的Plugin插件

插件名称作用
html-webpack-plugin生成 html 文件,引入公共的js和css资源
webpack-bundle-analyzer对打包后的文件进行分析,生成资源分析图
terser-webpack-plugin代码压缩,移除console.log打印等
HappyPack Plugin开启多线程打包,提升打包速度
Dllplugin动态链接库,将项目中依赖的三方模块抽离出来,单独打包
DllReferencePlugin配合Dllplugin,通过manifest.json映射到相关的依赖上去
clean-webpack-plugin清理上一次项目生成的文件
vue-skeleton-webpack-pluginvue项目实现骨架屏

常用的loader

名称作用
style-loader用于将css编译完成的样式,挂载到页面style标签上
css-loader用于识别 .css文件, 须配合style-loader共同使用
sass-loader/less-loadercss预处理器
postcss-loader用于补充css样式各种浏览器内核前缀
url-loader处理图片类型资源,可以转base64
vue-loader用于编译 .vue文件
worker-loader通过内联loader的方式使用web worker功能
style-resources-loader全局引用对应的css,避免页面再分别引入

4. 创建库

工具名称作用
commander自定义命令行工具
inquirer命令行交互工具
download-git-repo从git上下载项目模板工具
utildownload-git-repo不支持异步调用,需要使用util插件的util.promisify进行转换
ora命令行 loading 动效
fs-extra提供文件操作方法
axios发送接口,请求git上的模板列表

5.插件库

工具名称作用
babylon解析js语法,生产AST 语法树 ast将js代码转化为一种JSON数据结构
babel-traversebabel-traverse是一个对ast进行遍历的工具, 对ast进行替换
babel-core将es6 es7 等高级的语法转化为es5的语法

eslit相关配置

使用Eslint

工具名称作用
eslinteslint校验代码
@typescript-eslint/parserESLint中配置TS的解析器 替代掉默认的Espree解析器
@typescript-eslint/eslint-plugin提供额外的ts 语法的规则
@typescript-eslint/eslint-plugin提供额外的ts 语法的规则
@typescript-eslint/eslint-plugin提供额外的ts 语法的规则

react

eslint-plugin-react 配置包扩展支持React语法

vue

eslint-plugin-vue使用 ESLint 检查 .vue文件 的 <template> 和 <script>,以及.js文件中的Vue代码

配置prettier

prettier 只关注格式化,并不具有lint检查语法等能力。它通过解析代码并匹配自己的一套规则,来强制执行一致的代码展示格式。 它在美化代码方面有很大的优势,配合ESLint可以对ESLint格式化基础上做一个很好的补充

eslint-plugin-prettier 解决Prettier与ESLint的配置冲突问题

husky

husky 是一个为 git 客户端增加 hook 的工具。安装后,它会自动在仓库中的 .git/ 目录下增加相应的钩子;比如 pre-commit 钩子就会在你执行 git commit 的触发。

lint-staged

lint-staged 每次git commit的时候都执行一次npm run lintgit暂存区里的文件都走一遍eslint校验

commitlint

@commitlint/cli @commitlint/config-conventional 使用 commitlint 对提交信息进行校验 cz-customizable 可自定义的 Commitizen 插件(或独立实用程序),可帮助实现一致的提交消息 commitlint-config-git-commit-emoji commitlint-config-cz 检查 commit 是否符合某种规范的校验工具 conventional-changelog conventional-changelog-gitmoji-config 可以根据项目的 commit 和 metadata 信息自动生成 changelogs 和 release notes 的系列工具