- 博客(2286)
- 收藏
- 关注
转载 Vue 3.6 重磅预览:Vapor Mode 是如何让性能起飞的?
简单来说,Vapor Mode 是一种新的编译模式,它在编译时就消除了运行时的大部分开销。Vue 3.6 就像一个能根据情况使用不同引擎的混合动力汽车,既能保留 Vue 3 强大的开发体验,又能带来媲美甚至超越原生 JS 的运行速度。它不会取代现有的 Vue 3 模式,而是作为一种强大的补充,让开发者可以根据具体需求,在易用性和极致性能之间做出最佳选择。你想换个窗帘,需要先画一张新窗帘的草图 (Virtual DOM),然后把新旧草图比较一下,找出不同,最后再告诉工人去换。,它旨在提供极致的性能。
2025-08-24 20:15:13
1
转载 前端如何管理JS内存
在前端开发中,管理 JavaScript 内存是优化性能、减少内存泄漏、提升用户体验的重要一环。如果 JavaScript 对 DOM 元素的引用未及时清理,即使 DOM 已被移除,内存仍然会被占用。:JavaScript 引擎(如 V8)会自动回收不再使用的内存(通常基于引用计数或标记清除算法)。确保闭包引用的变量是必要的,及时清理不需要的闭包。理解 JavaScript 的内存管理机制,避免常见的内存泄漏场景。虽然垃圾回收是自动的,但开发者仍需避免不必要的内存占用和泄漏。
2025-08-23 11:30:48
4
转载 RoboNeo:美图推出的 AI 智能设计平台,让设计变得像聊天一样有趣!
3D 卡通风格,主体是穿着米色工人背带裤,黑色 T 恤的家政保洁人员卡通角色,角色头戴藏蓝色棒球帽,黑色的运动鞋,身上背着大大的蓝色背包,年龄在二十多岁。今天来聊聊美图 AI 设计工具 RoboNeo,它通过对话来完成设计,从生图到改图非常直接。还需要把背景改成在河边,有草地和河,左手拿着鱼竿,书包改成我上传的这张背包图片。,为电商、广告、教育等领域提供全流程设计方案,极大地降低了专业设计的门槛。书包改成浅蓝色的,帽子上也要换成渔夫帽。
2025-08-22 14:52:22
85
转载 7种在 JavaScript 中分解长任务的技术
动画帧回调函数实际上拥有自己的 “队列”,在渲染阶段的特定时间运行,这意味着其他任务很难插队将其挤到队列的末尾。但它的问题是,没有技术上的保证来确定它何时或是否会运行。来看一个简单的例子:我们在屏幕上有一个用于递增计数的按钮,旁边还有一个大大的循环在执行一些繁重的工作。Scheduler 接口是 Chromium 浏览器相对较新的功能,旨在成为一种一流的工具,用于以更多的控制和更高的效率来安排任务。由它安排的所有任务都会被置于任务队列的前端,防止其他任务插队并延迟执行,尤其是在以如此快速的方式排队时。
2025-08-18 09:22:06
17
转载 前端 Monorepo 实践指南:从选择到实现
仓库内的 A 包依赖 B,你要记得,monorepo 里的可是源码,它不会因为被依赖就自动 build,怎么直接依赖?是一个写 changelog 的好帮手,并且它无需额外配置直接支持 monorepo,在一个包更新时,它能帮你顺便更新它的依赖者的 changelog。,monorepo 就显得很必要,但是相反,就一个部门单干,又或者各个部门间都不会互相调用包,那么 monorepo 就很可能不适合你。选择 monorepo 是有代价的,所以没有充分的理由请不要无脑上 monorepo,哪怕这个理由是。
2025-08-16 17:09:25
18
转载 Vite7就这样悄悄发布了?传说中的Rolldown终于来了!
包来体验基于 Rolldown 的 Vite,替代默认的 vite 包。切换后可以显著减少你的构建时间,尤其是对于较大的项目而言。每当我们发布一个重大版本时,所支持的浏览器列表都会更新,以匹配与“Baseline Widely Available”特性兼容的最低浏览器版本。今天看了一下vite的仓库,突然发现正式版就发布了,前两天看还是beta版本呢,Vite7就这样悄悄发布了?—— 一个基于 Rust 的下一代打包工具(bundler),作为现代化 Vite 核心的更广泛努力的一部分。
2025-08-14 15:14:09
51
转载 Vite 插件实战: 自动打包压缩图片和转webp
因为用vite打包工具,就去社区找相关插件,可没找到一个比较符合我要求的,就打算自己工作摸鱼写一个吧👀。有人可能认为,开发环境并不需要压缩和转webp功能,其实不然,开发环境主要是为了看图片处理后的效果,是否符合预期效果,不然每次都要打包才能看,就有点麻烦了.: 还是在generateBundle中,直接copy一份图片的chunk,替换chunk的source和fileName,再添加到bundle中输出。**:这里就有点麻烦,需要考虑图片的引入方式和打包的产物,解析产物去替换了。
2025-08-13 21:38:22
27
转载 Proxy 有哪些东西是无法拦截的?
是一把极其强大的API,允许你劫持对象的读取、赋值、删除、函数调用等等。保留了原始对象操作的行为语义,确保原型链正确、上下文正确(特别是 setter / getter 中的 this)。这是一个非常冷门的行为,通常只有你在 try-catch + sandbox 时才会踩到。要改变 instanceof 的行为,只能返回一个特殊的构造器对象。,甚至有些你以为能拦的操作,背后根本就没调用 proxy。除非你拦截的是一个函数调用的属性访问阶段,否则基本无解。是静态操作,不触发运行时 hook。
2025-08-12 10:43:41
61
转载 面试官:前端批量请求失败 Toast 重复弹窗怎么解决?
"放弃第三方toast库的自动去重功能,选择自研方案以保持轻量(包体积减少30KB)"✅ 高情商表达:"通过协商制定重试策略+服务降级方案,建立前后端错误处理SOP""弹窗触发率降低98%,错误分类准确率提升70%,该方案被复用到订单中心模块""输出《前端错误处理规范》,推动团队建立统一拦截器,减少重复开发量""在电商结算页的批量请求场景中,5个接口并发请求面临网络波动风险""弹窗频率从3次/秒降为0.1次/秒,错误日志上报量减少85%""需要保证多个接口失败时,用户不被重复弹窗干扰"
2025-08-11 09:38:32
23
转载 【总结】2328- 前端也需要了解的 MCP 知识
MCP 不只是提供 Tool(工具) 还可以提供 Prompt(主要是作为 AI 提示词 模板)、Resource(客户端可以读取的数据(如 API 响应或文件内容),这里不再展开感兴趣的自行前往官网探索。就像上边的那张图片 MCP 提供一种标准的接入协议,只要是按照 MCP 开发的服务端就可以在 MCP 客户端中接入(这他么不是废话吗!这里实现两个简单的 MCP 服务一个时间时间工具 和 简单的 GitHub 搜索,把官网 MCP 服务端的两种写法都实践一些。比如今天的天气情况、今天的热点新闻等。
2025-08-08 09:23:05
20
转载 Zread:智谱 AI 推出的 Github 项目阅读神器,一键生成项目文档,理解项目更高效!
阅读起来非常方便,而且 Chris 试了其他项目,比如今天 OpenAI 开源的项目 https://github.com/openai/gpt-oss,还能自动翻译成中文,生成中文文档,太棒了。这里还有个小技巧,当浏览器已经打开 Github 仓库的主页,可直接在浏览器的地址栏,Zread 能自动解析复杂的 GitHub 仓库,生成结构化文档,帮助用户。Zread 支持在生成的文档站点中,直接进行 AI 对话,对文档进行提问等。Chris 运营的免费知识星球,汇总平常分享各类 AI 资讯内容,扫码加入~
2025-08-07 13:36:20
82
转载 就在刚刚,Ollama 终于上线对话界面啦,再也不用敲命令了!
不过就在刚刚,Ollama 0.10.1 版本正式上线可视化图形界面啦,同步支持 Mac 和 Windows 端,再也不用对着命令行工具敲命令了。在之前使用 Ollma 安装和运行本地模型时,都需要在命令行工具中使用,对于非技术人员,首次使用确实有点门槛。新版本 Ollama 中提供了全新的对话界面,不仅支持普通的对话,还支持下载模型,这就非常方便了。新版本 Ollama 支持添加代码文件,然后让大语言模型进行理解,编写新的文档。,比如 Gemma 3 等,国内模型也有,比如 Qwen2.5vl 等。
2025-07-31 18:18:16
134
转载 【CSS】2327- CSS view():JavaScript 滚动动画的终结
虽然这种效果看起来很棒,实现起来也 “相对简单”,但也有不少棘手的问题需要解决,尤其是当页面上有大量动画元素时。我当时的做法是修改 CSS 属性,或者给需要动画的元素添加类名,让其施展了些魔法。但更麻烦的是,我还得实现动画的反向效果,整个过程既繁琐又丑陋,而且我超级讨厌这样做。可怜的浏览器在每次滚动事件时都要处理这些计算,有时我都能听到它的哀鸣。浏览器会负责所有复杂的计算,并且在合成线程(compositor thread)上运行(简单来说,就是 “超级快”)。当我第一次试验这个功能时,我真的笑出了声。
2025-04-22 08:37:03
76
转载 【总结】2326- 资源预加载可能会拖慢网站速度
因此,我们搭建了真实用户监测(Real User Monitoring,RUM),跟踪主要图片的加载时间和第一个预加载的 JavaScript 文件的完成时间。在 Firefox 的测试中,我们发现它的预加载机制更为合理 —— 预加载请求会被延迟更长时间,从而确保主要页面内容优先渲染。然而,在很多情况下,页面性能并不会受到带宽的限制,因此预加载对页面速度的影响可能并不明显。然而,在分析网站资源加载的请求瀑布图时,我们发现预加载请求往往发生得太早,导致它们与主要内容的图片争夺带宽。
2025-04-14 08:12:41
100
转载 【总结】2325- 前端异常隔离:Proxy、Web Workers 与 iframe 的深度对比
Web Workers是浏览器提供的多线程机制,插件代码运行在独立的线程中,完全隔离于主线程,无法直接访问DOM或其他主线程资源。和Proxy的主要区别在于隔离的层次:Proxy是逻辑层面的隔离,而Web Workers是物理层面的线程隔离。iframe虽然提供了浏览器级别的隔离,每个iframe有独立的渲染进程和JavaScript执行环境,但它的资源消耗较大,每个iframe需要加载完整的文档环境,对于需要频繁创建和销毁的场景不合适。:终极隔离,但成本和复杂度较高,适合完全不可信内容。
2025-04-11 08:56:12
152
转载 【总结】2324- 万字长文入门前端全球化
时间的往事--记一次与夏令时的斗智斗勇:https://jiangyixiong.top/2021/05/25/%E6%97%B6%E9%97%B4%E7%9A%84%E5%BE%80%E4%BA%8B%E2%80%94%E2%80%94%E8%AE%B0%E4%B8%80%E6%AC%A1%E4%B8%8E%E5%A4%8F%E4%BB%A4%E6%97%B6%E7%9A%84%E6%96%97%E6%99%BA%E6%96%97%E5%8B%87。了解的越多越发现这个世界的“多样性”。
2025-04-02 07:45:17
380
转载 【React】2323- 在React中,父子组件怎么通信?没有关联的组件呢?
常见的通信方式包括父组件向子组件传递数据(props)、子组件向父组件传递数据(回调函数),以及没有直接关系的组件之间的通信(Context API、全局状态管理库等)。和回调函数实现,而没有直接关系的组件之间的通信可以使用Context API、自定义Hooks或状态管理库(如Redux或Recoil)。父组件可以将一个回调函数作为prop传递给子组件,子组件在需要时调用这个回调函数,将数据传递回父组件。父组件可以将一个回调函数作为prop传递给子组件,子组件调用这个回调函数并传递数据给父组件。
2025-03-24 12:20:50
68
转载 【JS】2322- 深入解析前端插件机制:以埋点SDK与Webpack为例
最近在做前端监控的全链路项目, 刚好埋点SDK这边的架构设计需要用到插件机制, 就想着和之前学过的webpack插件机制进行一个类比, 看看有哪些共通和差异之处。在现代软件开发中,插件机制是实现系统扩展性和灵活性的核心设计模式之一。插件机制通过将核心功能与扩展功能分离,使得系统能够在不修改核心代码的情况下扩展能力。:ByteTop 的监控场景要求“永不中断”,Webpack 的构建场景允许“快速失败”。为例,深入探讨两者的插件机制设计异同,并揭示其背后的设计哲学。
2025-03-20 09:16:54
89
转载 WiseMindAI:本地 AI 知识库应用,集成 10+AI 模型,支持笔记、海报生成与AI对话等...
???? 工具名称:WiseMindAI???? 官方网址:https://wisemind-ai.com/???? 下载地址:https://wisemind-ai.com/download/???? 支持语言:简体中文、繁体中文和英文???? 支持平台:Windows 端、Mac 端WiseMindAI 是 Chris 开发的一款 AI 智能学习助手,本文会介绍比较详细,内容较多,也可以进官网查看完整介绍!视频介绍接下...
2025-03-05 08:17:21
354
转载 【总结】2321- 轻松实现同域标签页消息传递
本文转载于稀土掘金技术社区,作者:从谷底向上https://juejin.cn/post/7474962750701322277在浏览器中,两个同域的标签页(Tab)之间通信有多种实现方式,以下是常见的几种方法及其原理和代码示例:1.使用localStorage事件当修改localStorage时,会触发storage事件,其他同源页面可以监听该事件实现通信。// Tab A 发送消...
2025-03-03 07:58:35
62
转载 真心建议前端人冲一冲新兴领域,工资高前景好!
最近,Deepseek全球爆火让AI技术又一次进入了快速发展期!百度、字节、腾讯等等巨头互联网公司,纷纷接入DeepSeek,加速落地AI应用!这让「大模型应用开发工程师」一跃成为炙手可热的岗位!DeepSeeK甚至还开出154W的高薪,挖掘会大模型技术、懂落地的AI人才!作为技术人,如何不被时代抛弃,享受AI技术带来的就业红利?!????知乎知学堂特发起:行业前沿资源——「大模型应用开发工程师」????...
2025-03-01 22:01:03
73
转载 【总结】2320- 初探海报编辑器
本文作者系360奇舞团前端开发工程师最近在调研海报编辑器 想要做到对一张图片进行添加文本 图片之类的操作 我就去调研了一些开源的海报编辑器。其实在web上关于图片的编辑器还是很多的,种类也很丰富,比如 miniPaint基本复刻了 ps,基于 farbic.js的 Pintura.和 tui.image-editor,基于 Konva的 polotno等等。那我们的现阶段是实现一个轻量级图文编辑器...
2025-02-28 21:42:41
115
转载 【总结】2319- 如何在前端开发中实现零停机部署
前言探讨了在前端开发中实现零停机部署的实用策略,帮助开发者在不影响用户体验的情况下平滑地交付更新。今日文章由 @Manav Saha 分享,前端早读课@飘飘翻译。在前端开发领域,更新期间保持无缝的用户体验至关重要。零停机部署可确保用户在新功能和改进推出时不会遇到任何中断。实现这一点能够显著提升用户体验和运营效率。在本文中,我们将探讨在前端开发中实施零停机部署的实用策略,帮助你平稳地交付更新,而不影...
2025-02-27 12:25:04
90
转载 【总结】2318- 纯前端怎么实现检测版本更新,请看这篇!
背景单页应用(Single Page Application,简称SPA)是一种现代Web应用程序架构,通过动态重载页面中的部分内容来提供更流畅和更响应式的用户体验。由于SPA在客户端(用户的浏览器)运行大量的JavaScript代码,并且与传统的多页应用不同,它不会每次操作都从服务器重新加载整个页面内容,因此在性能和用户体验上有显著优势。然而这种应用也存在一定弊端,譬如当服务端更新时(接口请求体...
2025-02-23 22:44:53
84
转载 【面试】2317- 字节前端校招一面
今天带来一篇字节跳动的前端工程师一面面经,针对校招(包括实习生招聘),主要还是考察候选人常规的前端相关技能,这些知识点很多都在我们的刷题小程序里,除此之外的算法和项目经验,就得靠大家自己去积累和挖掘了。下面是正文部分。字节前端工程师一面 面试分享给大家哈喽哈喽,大家好,我是你们的金樽清酒。在一个平常的一天,我上着班,突然接到一个电话。您好,我是字节跳动的hr,我们这边是抖音电商部门,请问您还在考...
2025-02-21 07:42:20
197
转载 【CSS】2316- 10 个非常有用的 CSS 单行代码,你可能没有使用过它们
以下可能是你没有使用过,但绝对有用的 10 个 CSS 功能!1. 创建布局您是否曾尝试过制作类似 Pinterest 的布局,而有的项目具有不同的高度?网格和弹性框经常会留下尴尬的间隙,看起来不太好看。解决方法:使用 columns 属性。columns:300pxauto;这会将您的内容拆分为响应式列。每列宽度至少为 300 像素,浏览器将根据屏幕尺寸决定适合多少列。没有间隙,没有压力!2...
2025-02-19 07:44:19
59
转载 【总结】2315- 深入探讨浏览器渲染过程
原文地址:Exploring the browser rendering process[1],2024.11.03byAbhishek Saha浏览器的渲染过程是多个线程、进程和阶段的复杂编排,它将原始的 HTML、CSS 和 JavaScript 转换为屏幕上的交互像素。虽然讨论浏览器的渲染过程的话题已经并不是什么新鲜事了,而且关于这方面的内容也是足够多了。对我来说,它依然是一个有趣的话题,...
2025-02-18 07:35:04
73
转载 【总结】2314- Chrome 推出全新的 DOM API!
今天来聊 Chrome 最新推出的一个 DOM API智能总结:这篇文章讨论了在 Web 开发中操作 DOM 结构时使用insertBefore()的潜在问题,并介绍了 Chrome 133 引入的新 APImoveBefore()。传统的insertBefore()会导致元素状态重置,因为它在底层执行的是删除然后插入的操作,这在处理<video>、<iframe&...
2025-02-17 22:03:24
82
转载 【总结】2131- 前端加载超大图片(100M以上)实现秒开解决方案
前言前端加载超大图片时,一般可以采取以下措施实现加速:图片压缩:将图片进行压缩可以大幅减小图片的大小,从而缩短加载时间。压缩图片时需要注意保持图片质量,以免影响图片显示效果。图片分割:将超大图片分割成多个小图块进行加载,可以避免一次性加载整个图片,从而加快加载速度。这种方式需要在前端实现图片拼接,需要确保拼接后的图片无缝衔接。CDN 加速:使用 CDN(内容分发网络)可以将图片缓存在离用户更近的节...
2025-02-15 15:35:08
89
转载 【AI】2312- DeepSeek 使用指南:从 API Key 到本地部署,一步到位,推荐 3 款 AI 客户端...
关注 “AI 工具派”探索最新 AI 工具,发现 AI 带来的无限可能性!近期推荐????2024 热门 AI 工具????2024 热门 AI 工具???? AI视频生成工具|AIPPT工具|AI代码编辑器???? AI文本转语音|AI音视频转录|AI翻译插件最近 DeepSeek 不仅在 AI 圈子内大火,还成功“出圈”,成为全民热议的话题,这非常好,AI 技术正在走进了大众生活,2025 年 AI 的普及将更加...
2025-02-11 21:44:55
1385
转载 【TS】2311- TypeScript 5.8 带来哪些改变?一文读懂新版本亮点
学习要点条件类型推断:TypeScript 5.8 改进了条件类型推断,自动推断函数返回类型,减少手动检查。ESM 和 CommonJS 互操作性:支持在 --module nodenext 下从 CommonJS 模块 require() ECMAScript 模块。--erasableSyntaxOnly 选项:确保代码中仅使用可删除的 TypeScript 语法,提高兼容性。计算属性名保留:...
2025-02-10 07:49:03
270
转载 【JS】2310- JavaScript 中处理 null 和 undefined 的演进
在 JavaScript 引入可选链(optional chaining)和空值合并运算符(nullish coalescing operator)之前,开发者需要使用多种方法来安全地访问对象的嵌套属性以及处理可能为null或undefined的值。这些方法虽然有效,但存在一些痛点。ES2020 引入的可选链和空值合并运算符则极大地简化了这些问题的处理。1. 使用逻辑与运算符 (&...
2025-02-09 20:48:48
62
转载 【JS】2309- 为什么我推荐使用智能化 async ?
作者:FuncJinhttps://juejin.cn/post/7121853787794325512摘要开发中无论怎样都会产生网络请求,这样一来自然也就避免不了大量使用then、catch或try catch来捕获错误,而捕获错误的代码量是随着网络请求的增多而增多,那应该如何优雅的系统性捕获某个网络请求中所产生的所有错误呢?首先最常用的两种处理网络请求的形式即Promise与async(事实上...
2025-02-07 22:37:17
69
转载 【总结】2308- 2025,重新认识 HTML!
好久没更新 HTML 相关的内容了,最近关注了下实际上 HTML 也一直在高速发展,今天我们一起来看看 HTML 最近有哪些值得关注的新特性。可以定制样式的下拉菜单浏览器为了保持向后兼容性,并不会贸然改变像 <select> 和 <option> 这些元素的样式。这时候,一个巧妙的引入便是“选择加入”机制,它让开发者在可控的情况下,自由施展创意。起初,大家期待的解决方案是新...
2025-02-05 22:45:18
101
转载 【JS】2307- setTimeout是准时的吗?
本文转载于稀土掘金技术社区,作者:半壳椰子https://juejin.cn/post/7420059840971980834引言最近在一些论坛上,有人讨论setTimeout的准确性。因此,我进行了探索,以解答这个问题。结果发现,setTimeout并不完全可靠,因为它是一个宏任务。所指定的时间实际上是将任务放入主线程队列的时间,而不是任务实际执行的时间。`setTimeout(callb...
2025-02-01 12:11:51
62
转载 【总计】2306- html2canvas 图片跨域问题的解决方案及其原理
本文转载于稀土掘金技术社区,作者:小小小小宇https://juejin.cn/post/7402845471646285864html2canvas是一个用于将 HTML 元素渲染为画布(Canvas)的库。然而,当你尝试将包含跨域图片的页面渲染为画布时,可能会遇到跨域问题。这个问题通常会导致画布被标记为“已污染”,从而无法导出图像数据。解决方案及其原理使用CORS头:确保跨域图片的服务器...
2025-01-27 21:46:56
432
转载 【JS】2305- JavaScript 冷知识合集:这些特性你都知道吗?
JavaScript有很多奇怪的不容易理解的特性(bug?),想要写出比较健壮的JavaScript代码,又不能不去了解这些知识点。今天带来 一篇短文,介绍了一些常见的冷知识。另外,推荐大家都去看看《Javascript: The Good Parts》这本书,薄薄的一本,也不会耽误刷小视频的时间下面是正文部分。JavaScript 冷知识合集:这些特性你都知道吗?JavaScript 作为一门动...
2025-01-26 23:51:55
55
转载 【React】2304- React 首次推出原生的动画支持!
React 一直是前端开发者最受欢迎的框架之一。但是 React 的动画支持似乎一直是个短板。虽然 Vue 和 Svelte 等其他框架相继推出了便于实现动画的 API ,React 开发者长期以来不得不依赖于第三方库,如 Motion for React 和 React Spring 来补足这一缺陷。最近,这种情况终于迎来了转机。React 团队即将推出了一个名为 <ViewTransit...
2025-01-24 21:58:10
78
转载 【Web技术】2303- 前端在本地开发还能用https?
前言一般情况下,前端在开发本地项目的时候大都用不到https,但有些特殊情况不同,比如你需要使用service worker,又或者需要使用cookie而后端又设置了secure。nextjs本身提供了直接通过https启动项目的方法,所以假如『https://localhost:port[1]』 这种域名就能满足需求的话,建议直接按照nextjs官方提供的方法进行配置即可。API Refere...
2025-01-22 08:08:54
72
转载 【总结】2302- 10年前端的一些开发经验总结
今天带来一位10年老前端的一些思考,看看10年的经验总结下来,有哪些是我们可以学习和借鉴的。作者的观点也不一定适合每个团队或者每个场景,大家还是要结合实际情况来具体分析哈。下面是正文部分。开发注意事项考虑边界值:如果要展示一个列表,就要考虑列表为空、列表长度超过一页的情况;如果展示的是文字,则要考虑文字为空、文字超长的情况;访问a.b.c时,a或b是否可能为undefined。考虑特殊场景:如交互...
2025-01-19 22:50:19
44
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人