VSCode 扩展 New Project 发布 0.2.0 前言在之前 VSCode 扩展 New Project 发布 0.1.0 一文中,吾辈实现了基本的扩展功能,也说明在过程中遇到的一些问题。现在,吾辈实现了自定义生成器的功能,然后发布了 0.2.0,这让使用公司内部的 cli 生成器变成了可能。 具体来说,有以下几步 公开生成器的 json schema 从 vscode 配置中获取 json configs 渲染为创建模板项目的表单 创建时与内
VSCode 扩展 New Project 发布 0.1.0 前言 vscode 扩展市场 这个 idea 起源于吾辈从 webstorm 切换到 vscode 的几周后,在上个周末,吾辈想到,为什么 Jetbrains IDE 都有 项目创建引导面板,而 vscode 却并不支持,而只能使用命令行工具呢?念及于此,吾辈便打算自行在 vscode 中实现对等插件。 吾辈之前也为 webstorm 开发了一个生成 vite 项目的插件 Vite Integ
在 ts 中使用 graphql 场景graphql 提供前后端一致的 api 架构元数据,同时通过请求合并、按需获取加快 web 与后端交互的性能。 结合 ts 使用基本思路 扫描 gql 文件中的查询文件 生成类型定义与 document 对象 使用这些类型定义 使用步骤 以下使用 github api@v4 进行演示 获取后端的元数据 12pnpm i -g get-graphql-schemaget-graphql-
个人网站性能优化 发布新的个人网站 前两天吾辈发布了新版的个人网站,但当时仍然存在一些未解决的性能问题,包括 性能优化 减少依赖数量 砍掉运行时依赖 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 接口代码