Vue3项目如何利用vitest做单元测试

为了提升代码质量,降低 bug 率,开始在前端项目中增加单元测试,重点是对组件的单元测试,避免因为修改公共组件导致的隐匿性 bug。考虑到我们的项目主要是用 vue 框架,因此优先采用 vitest+@vue/test-utils 来实现

基于ElementPlus封装的季度选择器组件

在工作中我们常会用 ElementPlus 作为项目的基础 UI 组件,这里面丰富的组件基本能覆盖到大多数场景。在 ElementPlus 文档中我们可以知道 Form 表单组件中 DatePicker 日期选择器可以通过 type 传入不同的单位来选择不同日期单位的日期时间选择器组件。
type= week | month | year | dates
但是如果要支持根据季度单位来选择,那该怎么办?
今天就来介绍下如何基于 ElementPlus 封装一个季度选择器组件

如何使用Monorepo实现跨项目共享组件和模块

因为之前做过一个技术栈为 vue3+vite+elementPlus 的后台管理系统项目,当时为了方便创建类似项目还搭建了项目模板(github:vue3-vite-elementPlus-admin)。
随着公司业务发展类似项目越来越多,一个仓库一个项目的管理形式弊端越来越突出:

  1. 每个项目都要搭建 eslint+prettier+commitLint+styleLint 等代码规范校验
  2. 每个项目都要搭建许多类似的常用组件和创建公共 utils 函数
  3. 各个项目的主要依赖库(vue,elementPlus)版本可能不一致,且存在重复安装
  4. 有时候组件改动会涉及到多个项目都要手动更改

极客时间-正则表达式

在日常开发中难免会遇到写正则匹配的问题,平时总是从网上搜搜看,写的也匹配不了。总觉得这块自己的缺陷比较大,于是就专门在极客时间上学习了下正则表达式课程,这里记下学习记录,希望学完后所有的正则问题都能迎刃而解。加油!

Typescript内置工具类型和操作符介绍

随着 Typescript 的普及,越来越多的前端项目开始使用 Typescript,做了几个项目后发现自己对 Typescript 内置类型非常不熟悉,今天梳理下知识点介绍下 Typescript 内置工具类型和常用操作符

Partial<Type>
Required<Type>
Readonly<Type>
Record<Keys, Type>
Pick<Type, Keys>
Omit<Type, Keys>
Exclude<UnionType, ExcludedMembers>
Extract<Type, Union>
NonNullable<Type>
Parameters<Type>
ConstructorParameters<Type>
ReturnType<Type>
InstanceType<Type>
Uppercase<StringType>
Lowercase<StringType>
Capitalize<StringType>
Uncapitalize<StringType>