从 Webpack 迁移到 Rspack 的实践记录
过去一段时间给一些前端项目做了改造,把构建器从 Webpack4/5 迁移到了 Rspack,大部分项目迁移完后,都减少了 50% 以上的构建时间,整体改善还是可观的。
选择 Rspack 另一方面的原因是它和 Webpack 兼容性较好,迁移成本相对较低,目前是一个非常推荐去尝试的构建器。笔者作为基建方,需要尽可能在底层做到最大的兼容,实际迁移过程中还是不可避免地遇到了一些问题,本文进行一个记录和分享。
过去一段时间给一些前端项目做了改造,把构建器从 Webpack4/5 迁移到了 Rspack,大部分项目迁移完后,都减少了 50% 以上的构建时间,整体改善还是可观的。
选择 Rspack 另一方面的原因是它和 Webpack 兼容性较好,迁移成本相对较低,目前是一个非常推荐去尝试的构建器。笔者作为基建方,需要尽可能在底层做到最大的兼容,实际迁移过程中还是不可避免地遇到了一些问题,本文进行一个记录和分享。
最近突然想把网站改一改,一看都有两年多没更新,也太鸽了......
趁着改版,写一篇记录一下这一历史进程。
最近在做一个 Electron 桌面应用,需要实现文件关联,把特定后缀的文件关联到应用上,双击文件可以直接打开应用并读取文件。
文件关联与操作系统相关性比较大,不同的操作系统实现方式也会不同。不过如果使用 electron-builder 进行应用打包,可以直接通过 fileAssociations 配置来实现文件关联。
而我这边使用 electron-packager 打包,不会直接产出安装程序,所以需要自行实现文件关联,同时可以借机进一步了解 Windows 和 Mac 实现文件关联的细节。
最近工作上遇到了 Inno Setup,这对于我来说是个新东西,看不懂,那么就学一下吧。
不知道有多少人和我一样,对 SSH key 的接触起始于 Git 的使用,反正是啥也不懂,跟着教程一顿敲:
$ ssh-keygen -t rsa -b 2048 -C "xxxxxxxxxx@qq.com"一路回车,然后把 id_rsa.pub 的内容填入到 Github/Gitlab 的设置里,就转头去使用 Git 了。
输入、回车提交,这是一组在搜索场景中常见、友好的交互形式,但要将其做好以获得更好的用户体验,还需要关注其中的小小细节。
一年又又又要过去了,在这 2021 年的尾巴,来写写 React 的状态管理。
本文主要介绍一种基于 React Hooks 的状态共享方案,介绍其实现,并总结一下使用感受,目的是在状态管理方面提供多一种选择方式。
最近升级了的企业微信,发现发送链接信息的时候,企信会自动拉取链接的标题、描述和图片信息,并组合成卡片的形式进行展示,给人的感觉就很棒,既传递了更多的信息,又显得美观,就想着在博客里也加上这个功能。
效果是下面这样的,如果展示的还是链接,那可能是还没加载出来或者背后的服务挂了(白嫖不易):Github
截图效果如下:

git 的 subtree 是一种复用源代码的方式,可以让多个仓库引用某个仓库的代码,也可以将仓库中的某个目录拆分成一个子仓库以供其他仓库使用。
相较于 git 的 submodule,目前社区中多更推崇 subtree,自己在使用了一段时间后总体也是认为 subtree 会更好用一些。
但同时,两者都有各自的一些问题,而 subtree 的问题目前有其他方式规避,整体用起来比较流畅,所以最终选择了 subtree。
实际上 subtree 命令需要在某个版本的 git 之后才被支持,但目前 git 的常用版本是完全足够的,所以也没去深究过。