TS中如何从枚举中筛选出符合特定条件的枚举值的联合类型 发表于 2023-07-13 分类于 Typescript 背景系统中有多种类型的组件,但是其中有一些组件在类型名称上有共性,并且它们的性质上也有共性,为了将这些有共性的类型筛选出来,需要有一种方式可以通过特定的类型名筛选出这些枚举值并组成一个联合类型,用在需要判断的地方 阅读全文 »
在Typescript中重载泛型函数组件以实现以某些参数控制其他参数类型的功能 发表于 2023-06-09 更新于 2023-06-12 分类于 React 背景为了实现函数组件的参数类型能够被其他的某个参数传入的具体值控制的功能,需要用重载的方式来定义组件 阅读全文 »
星号符号(*)在CLI开发中造成的困难 发表于 2022-11-15 分类于 造轮子 背景在为公司的翻译工具创建CLI时,传入的参数中有星号符号(*)时遇到了无法识别,打印zsh: no matches found的问题 阅读全文 »
用自定义Hooks替代HOC(高阶组件) 发表于 2022-07-13 更新于 2022-07-20 分类于 React 概述经过长时间的对React Hooks的使用,最终我认为,HOC的功能在绝大多数场景中都可以被自定义的Hooks取代,特此记录。 阅读全文 »
使用lint-staged在git提交前校验并自动修复部分不符合eslint规则的代码 发表于 2022-07-11 分类于 Git 背景一样是脚手架搭建过程中需要的功能,在提交代码前自动运行eslint检查代码规范,并自动修复一些错误 阅读全文 »
使用commitlint和husky校验git提交信息 发表于 2022-06-30 分类于 Git 背景在为Webpack5的脚手架搭建过程中,发现最新的husky的配置方式和commit信息的校验方式无法满足要求,故自己重新配置了husky和commitlint,来实现提交代码过程中对提交信息的控制。 阅读全文 »
webpack运行dev-server并使用nginx进行子域名代理时刷新路由页面回到二级域名的index.html的解决方法 发表于 2022-06-14 分类于 Webpack 背景某后台管理项目 乾坤 驱动,由一个主项目通过乾坤的微前端方式引入下属的多个微项目,每个微项目都占据该主项目下的一个二级域名,在本地对某个微项目进行开发时,为了能够模拟多个微项目之间跳转或者模拟微项目子域名的跳转功能,需要用nginx对该子域名进行代理,nginx配置如下: 阅读全文 »
React移动端项目中判断设备的方向 发表于 2022-04-19 更新于 2022-06-21 分类于 React 背景直播产品的直播页面分为两种布局,当手机设备横过来的时候需要切换为一种类似全屏的布局,所以需要在产品的各个组件中判断是否是横屏状态 阅读全文 »
更新react-router和react-router-dom到v6 发表于 2022-04-18 更新于 2022-04-19 分类于 React 背景开发新项目的时候想找一个自己写的getQueryString的替代品,发现react-router-dom在6.0版本更新了useSearchParams的hooks,可以方便的获得浏览器地址里的query参数,故顺便将项目里的react-router-dom更新到了6.0 阅读全文 »
使用gulp和webpack开发微信小程序 发表于 2022-03-23 更新于 2022-07-06 分类于 小程序 , React 微信小程序的IDE开发、打包📦 流程设计 和 typescript 应用方式 背景要为直播sdk开发微信小程序版,希望通过通用IDE(VSCode、WebStorm)开发,微信小程序开发工具仅作为快速预览工具使用 希望使用Typescript,并且使用Gulp进行代码的处理和移动,在后续过程中发现处理打包关系上的诸多问题,因此在js处理流程中添加Webpack用来处理第三方依赖。 阅读全文 »