为环境变量自动生成类型定义 在开发前端 web 项目时,我们经常需要使用环境变量,而 vite 作为最近非常流行的构建工具,它支持 .env 环境变量配置文件,同时还支持配置环境变量的类型,仅需要在 src/vite-env.d.ts 创建接口 ImportMetaEnv 即可。唯一有点麻烦的是:它不是自动的,而是要求开发者手动添加环境变量。– 这就是为什么会创建这个插件的原因,它能扫描环境变量配置并自动生成接口 Impor
在 react 中使用 vue hooks 场景你看到标题,可能会想:为什么要这样做?react hooks 是一个有用的发明,它重新组织了代码编写和思考的模式,利用更小的抽象将状态与函数按功能分割,而非集中到一个状态或生命周期中。但 react hooks 存在状态依赖的概念,更糟的是:它依赖于人工管理 – 尽管 react 官方提供了 eslint 规则,但如果你用过它,会发现它的误报率很高 – 尤其是在复杂组件中。那么,这是否就意味着
js 处理 url 数组参数 场景使用 axios.get 时遇到的问题,axios 在 get 请求时会将参数转换为 url 上,这本是正常的逻辑,然而 Spring MVC 却无法接收,会抛出错误。 使用 Axios 发送的请求代码 12345axios.get('/api/index/array', { params: { list: ['1', '2', '3'], },}) Spring MVC 接口代码
jsdoc 注释标签一览 速览表格标签列表 标签 简介 param 参数 returns 返回值 example 示例 test 测试代码 class 类定义 property 类属性定义 语法列表 语法 简介 {T} 类型 {T,R} 多个类型 [] 可选值 [arg=v] 默认值 .<T> 泛型 obj.property 对象参数 func
FlexBox 布局入门 场景最近刚看了 flexbox,之前一直用的 UI 框架写前端,吾辈可能是个假的前端开发(好吧,其实之前吾辈前后端都写,写得最多的是 JS/TS 就是了),所以写一篇记录便于复习知识。 简介不谈需求讲功能就是扯淡,所以吾辈先来说一下吾辈使用 flex 的主要场景吧 水平布局: 导航栏,多栏展示,媒体元素 水平垂直居中: 这在 flex 之前使用 CSS 很难实现 避免使用浮动,行内块元素,表格进
如何减少 monorepo 中 lib 的初始化时间 场景在我们使用 monorepo 将所有的前端项目放到一个项目中后,会面临各种各样的问题,其中的多个通用模块的初始化也会是一个问题。 下面是目前实践过的一些解决方案 增量构建 捆绑依赖项 基于 esbuild 不构建 dts 增量构建每次修改 libs 中的内容,其他人通过 git 拉取时都需要重新 initialize,如果知道在哪个包还好,可以仅运行指定包的 initialize 命令。
为什么现在还要选择盗版 你可能是一位正版的受害者 前言总的来说,在工作之后力所能及的情况下,对于支持正版,吾辈是举双手赞成的,因为吾辈作为创作者的一类–开发者,确实明白为有价值的事物付费是理所当然的。对于各类服务、软件、App,吾辈并不吝于付费。 简要列出一些 Steam 游戏:2446 软妹币/去年 JetBrains IDE 系列:$199/y Wallaby/Quokka:$150/y Proxifier 透
是否需要将 cli 工具集成到构建工具中 场景你是否也曾遇到过下面这样的场景? 需要生成 graphql 的类型定义,开启了一个 terminal tab 需要生成 i18n json 配置的类型定义,开启了一个 terminal tab 需要启动一个依赖的 web 服务,开启了一个 terminal tab 需要调试一个依赖的 lib,需要根据变更重新打包,开启了一个 terminal tab 需要使用 postcss 监视模式,开启
在现代前端项目中使用 Worker 场景由于需要做一些 CPU 密集型的计算,为了优化性能,吾辈开始尝试使用 worker 将计算任务放到其它线程(主要还是为了避免主线程卡死)。 主要场景包括 浏览器上的 WebWorker/SharedWorker:处理音频数据 nodejs 中的 worker_threads:解析 md/ts ast 然后处理 为什么不用 wasm?– 主要是由于它需要从零开始编写相关的代码,而非可以直接
Git 频繁要输入密码的问题 场景突然就遇到了,每次使用 Git 进行 pull/push 操作时都要输入密码,真是超级麻烦! 原因在 Git 服务器上面设置了 SSH 密钥但仍然使用 HTTP/HTTPS 连接就会出现这个问题 解决方案1. 配置一个本地文件记录用户名/密码进入到 git 根目录下,执行下面的命令即可 1git config --global credential.helper store 2. 使用 SS
WebStorm 使用技巧 WebStorm 全局默认配置使用场景:使用 WebStorm 经常会遇到一种情况,在这个项目自顶了一些设置(Settings 而非 Project Structure,例如 自定义的 Maven,项目字符编码等等),到了新的项目全部恢复了默认值又要重新设定。 解决方案:通过 WebStorm 的默认设置(File > Other Settings > Default Settings
个人与开源 场景昨天,吾辈的 GitHub 提交已经超过了去年一整年。就在前几天,有人从 GitHub 上找到了吾辈,所以想谈一些吾辈关于开源的认识。 2020 2021 为什么要做开源项目最初的想法是觉得开源很酷,许多厉害的人都创造了许多有趣的开源工具,典型的就是 Linux。后面工作之后坚持下来的原因更多是公司的项目很一般,所以只能通过开源项目来提高技术能力,并希望做出一点有用的东西。 收益 学习开