个人网站性能优化 发布新的个人网站 前两天吾辈发布了新版的个人网站,但当时仍然存在一些未解决的性能问题,包括 性能优化 减少依赖数量 砍掉运行时依赖 marked 压缩图片尺寸 添加 .nojekyll 避免 github actions 做无谓的构建 验证工具 rollup-plugin-visualizer:检查 bundle 尺寸 chrome devtools 中的 lighthouse:测试
浅评《走向共和》 最近看完了《走向共和》,比现在没有营养的电视剧好看多了,当然也被同事吐槽说不是这个年纪的人看的(就像吾辈听的音乐一样)。讲清明到民国之间的历史,里面的李鸿章真是饰演得有血有肉,不再仅仅是一个在历史书上签下两次不平等条约的罪人,而是一个着力于挽救晚清王朝的改革家,伊藤博文评价李鸿章说 大清帝国中唯一有能耐可和世界列强一争长短之人。 以下节选的片段均取自 豆瓣 北洋阅兵之前 慈禧:要是我的生日过
发布新的个人网站 场景在去年 8 月 17 号时,吾辈开始尝试实现自己的个人网站,但由于没有设计的概念,所以整体上非常简陋。只是列举了一些吾辈做过的东西,并且为此还去学了一下如何编辑 svg 图片。 地址:https://rxliuli.com/v1/ 在上个月偶然浏览网站时,看到了 https://brittanychiang.com/,是一位设计+前端开发的个人网站,配色统一、移动端适配、并且还包含一些动画,
electron 开发经验之谈系列-常见问题 突然之间 electron 就不能启动了删除 node_modules 重新 yarn 看看? 打包之后的程序页面空白实际上是 electron 无法正常加载页面,原因很多 路径问题,解压 asar 查看实际路径(main.js 中 loadUrl 的路径是否正确) react router 仅支持 hash 模式 在从文件系统中读取 html 文件时不能使用 # 指定路由,参考: https:
JavaScript 中的 ES6 Proxy 场景 就算只是扮演,也会成为真实的自我的一部分。对人类的精神来说,真实和虚假其实并没有明显的界限。入戏太深不是一件好事,但对于你来说并不成立,因为戏中的你才是真正符合你的身份的你。如今的你是真实的,就算一开始你只是在模仿着这种形象,现在的你也已经成为了这种形象。无论如何,你也不可能再回到过去了。 Proxy 代理,在 JavaScript 似乎很陌生,却又在生活中无处不在。或许有人在学习 ES6
在 monorepo 中引用依赖时直接指向源码 场景在 monorepo 项目中,我们可能有几十个 lib 模块,而 lib 模块如果需要发布到 monorepo 外,则必须打包为 js,并且将 main/module 指向打包后的 js 文件,以便所有人都能使用。 例如下面这样一个简单的 lib 模块 lib-a src README.md package.json tsconfig.json 原先不需要发布时 package.jso
为环境变量自动生成类型定义 在开发前端 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 命令。