最近接触一个项目使用的nextjs,构建发布整个时间消耗为12min,或者更长。查看整个构建过程,发现还是有优化点的,这里mark下。
Mar 20, 2025
Mac下OpenEmu玩游戏,如果直接使用键盘操作,会很不方便。手上有Xbox游戏主机,查询后发现Xbox手柄可以连接Mac来玩OpenEmu的小游戏。这里mark下操作步骤。
Mar 20, 2025
最近使用monaco-editor来实现JSON数据编辑器,为了提升用户体验,需要实现JSON Schema的智能提示。研究后发现了实现方法,因此这里Mark下。
Mar 19, 2025
最近入手了MacBook Air M4,使用了几天觉得很不错,这里mark下我的使用体验。
Mar 19, 2025
EventEmitter初版 class EventEmitter{ constructor(){ this.events={} } on(type,listener){ if(!this.events[type]){ this.events[type]=[] } this.events[type].push(listener) } emit(type,...args){ this.events[type].forEach(listener=>{ listener.call(this,...args) }) } off(type,listener){ if(this.events[type]){ const index=this.events[type].indexOf(listener) if(index!==-1){ this.events[type].splice(index,1) } } } once(type,listener){ const onceListener=(...args)=>{ listener.call(this,...args) this.off(type,onceListener) } this.on(type,onceListener) } } 测试 const eventEmitter=new EventEmitter() const listener=(args)=>{ console.log(args); } eventEmitter.once('test',listener) eventEmitter.off('test',listener) eventEmitter.emit('test',{a:1}) 执行上述代码,会发现test事件被触发了一次,预期应该是不执行的,因为off了。解决办法如下。
Mar 18, 2025
最近开发的gitlink插件遇到个问题,在WebView中加载node_modules资源,当然也可以直接使用CDN资源,只是速度上来说不如直接加载本地资源,因此这里解决下如何加载node_modules资源。
Mar 17, 2025
最近开发的VSC拓展需要做下国际化,发现官方文档介绍这里是空白,只是给了个例子,这里就总结下如何做国际化。
Mar 14, 2025
最近刷到一个前端问题在发送 http 请求报文时,Host 是必要的吗,我平时没注意这点,因此简单查了下,这里总结下
Mar 13, 2025
Medium的MPP,GitHub的Sponsor,都是通过Stripe来实现打款支付。这里记录下Stripe遇到的一些问题。
Mar 12, 2025
简介 Screen Studio 是一款功能强大的屏幕录制工具,仅支持 macOS。它可以帮助用户轻松录制屏幕上的操作,并生成高质量的视频文件。 最近因为有视频录制需求,入了永久版229刀,使用后感觉还不错,分享下使用心得。
Mar 12, 2025