
面试问的其中一题是:“ animation 、transform 、transition 的区别是什么?”
有的要想几秒钟才能开始答复,有的支支吾吾的说“好像是。。。”,有的甚至记混了。
在我的前端工作生涯中,这三个属性的使用频率是非常高的,不至于要想好久吧。。。
]]>Demo: WYSIWYG Markdown
在这个编辑器里,状态管理是核心问题。我把 domd 的状态管理单独抽出来, 封装成了一个库:Zenith 。
Github: Zenith
Zenith 的思路并不复杂: 把派生状态、缓存和依赖关系,明确地放在 store 内部, 而不是分散在组件和各种 selector 里。
这样带来的结果是:
另一个比较关键的点是 undo / redo 。 Zenith 是基于 Immer patch 的, 不依赖整棵 state 的快照。 在大数据量、频繁编辑的场景下,这一点差异很明显。
Zenith 不是通用型状态库,也不追求简单。 如果你在做编辑器、画布或类似的复杂前端, 可能会对这种设计方式有兴趣。
]]>举个🌰
import { effect, ref, type VNode } from 'vue' type Props = { name: string header: (count: number) => VNode children?: VNode } type Handler = { addCount: () => void } function ChildComp(props: Props) { const innerCount = ref(0) defineExpose<Handler>({ addCount() { innerCount.value++ }, }) if(!props.children) return <div>no children</div> return ( <> <div>{props.header(innerCount.value)}</div> <div OnClick={() => innerCount.value++}> {props.name} count: {innerCount.value} </div> {props.children} </> ) } 项目目前就 preview 版本,还不算稳定
]]>


于是想手搓一个近似的,但是开发一点后突然想测一下节点多了性能如何,
不测不知道一测吓一跳,二十多个节点拖拽的时候 fps 只有十几二十
求助一下,是否是 Canvas 的局限,还是哪里可以优化?
]]>求助大佬: 有没有大佬知道 打开客服会话 这个玩意咋用?
现在想确认下这个后端的消息是不是必须自己解析处理?能像店铺里打开客服一样直接对接到 小红书官方客服平台吗?比如 千帆客户平台
还是说需要自己写服务处理中转?
]]>因为一直以来都是野路子写,没有去学过基础的 Babel 配置这些东西。
手头只有 iPhone ,所以每次自己这边测试都很正常,效果也挺好的,但是真的放在好多国产手机的自带浏览器上就会出现兼容问题。特别是稍老的低端安卓手机的自带浏览器上。
有没有大佬能解答下该如何配置可以解决这一问题,或者有相关方向的课程。
]]>已经在 Trae 编辑器 里装了 Figma-Context-MCP 插件,导入了 Make 项目的链接,但调用 get_figma_data 接口一直报 400 错误。
后来我把 Make 项目转成 Design 设计稿 项目再试,接口倒是通了,但拿到的只有纯 UI 代码,没有交互逻辑(因为 design 项目纯静态)。
有点困惑的是,Figma Make 项目明明支持“代码预览”,按理说应该能拿到交互相关的代码才对?
有没有朋友遇到过类似的问题?或者知道怎么通过 MCP 或其他接口读取 Make 项目的交互逻辑?
]]>
当时整理了学习路径和资料,发了两篇帖子:
获得上万浏览、上百收藏
但其实,这两年我自己并没有按照这个路径学习,两点原因:
一开始,我使用基于 vue + element ui 的开源框架,即使不懂 css 的细节也能开发。
后来,觉得使用开源框架不方便,决定自己从头写,这时 AI 编程很方便了,也不需要动 css 的细节,能看懂 AI 生成的代码即可。
所以,这两篇文章分享的学习路径可能并不适合所有人,尤其是只想开发一个网站,但并不像以前端开发为主业的人。
感谢 AI ,确实提高了效率,可以将更多的精力放在业务层面。
]]>也會一丟 vue react
但是我对 npm nodejs 这些东西 还是很懵,经常就莫名其妙就各种错误。精力和能力都不够,不想深入学现在对前端。
所以考虑干脆 原生 html+taiwindcss+alpine.js 是否可行
目前 solo 前端大量依赖 ai ,少量手动调整。
]]>简单说,就是希望把现在这个 H5 项目,升级成一套支持多端、支持多项目复用、公共库集中维护、业务项目差异化开发的架构体系。 希望给我大佬给个建议给点经验
]]>由于现在 AI 编程盛行,所以我现在我大部分编程需求都是让 AI 完成。但是 AI 编程提供的方便其实更倾向于那些从 0 开始开发的项目,又或者说是可以本地运行调试测试的项目,但是对于 userscript 的开发,如果有任何 bug ,都需要自己手动到浏览器的开发者工具寻找错误进行调试,再把发现告诉 AI, 这无疑增加了开发难度,就算是用 AI 。
所以我想问一下大佬们,有没有什么好用的 AI 助力开发脚本但是可以让 AI 自己调试其错误的方法?又或者说是一套比我这一套过时的工作流,更好的工作流?
不知道有没有描述清楚问题,文笔一般,请见谅
]]>theme-color 在 macos 上也不再生效。 参考网上没有找到任何有用的信息,不论是 reddit 还是 AI 给的答复都是直接修改 body 的背景色,但是我发线一些网站(例如[ea.com](EA 官网))就完全没有使用 body 的背景色,于是我尝试了下,找到了让 safari 26 识别背景色的最小配置。
html 代码如下
<html> <head> <style> div { min-height: 6px; position: fixed; top: 0; width: 80%; } </style> </head> <body style="background-color: beige;"> <div style="background-color: darkgrey;"></div> </body> </html> 其中 height 最小 6px,width 最小 80%,position和top必不可少,更新于 safari26.0.1 ,后续苹果更新此方法可能失效。
]]>BTW, 关掉在 safari 配置中 tab 的
Show color in tab bar可以关掉改功能。
GitHub:https://github.com/ecomfe/vue-echarts
ECharts 6 带来了全新的主题、新的系列和布局机制,是官方近年来最重要的一次更新。我们为 Vue ECharts 适配了 ECharts 6 的新功能,并且将依赖的 ECharts 版本也更新为了 6.0.0 以上。想了解 ECharts 6 的具体特性,建议直接阅读官方的新版功能介绍,在此不再赘述。
我们在支持 ECharts 6 的同时,选择同步放弃 Vue 2 支持。Vue 2 已经在 2023 年底到达终止支持时间,在 Vue ECharts 8.0 放弃 Vue 2 可以让我们移除对 vue-demi 的依赖、提供更一致的类型并且简化打包流程,从而提高库的稳定性和可维护性。如果你依然要在 Vue 2 项目中使用,请继续使用 Vue ECharts 7 。
在 ECharts 中,自定义 tooltip 内容需要编写 formatter(params) 返回 HTML 字符串或 DOM 节点,自定义数据视图则要在 option.toolbox.feature.dataView.optionToContent(opt) 中做类似处理 。这一模式既不易复用,也难以与 Vue 的声明式渲染相结合。Vue ECharts 8.0 为这两个功能引入了插槽 API ,将这些回调映射为模板插槽。你可以在组件内写:
<VChart :option="option"> <template #tooltip="p"> <div class="tooltip"> <span v-html="p.marker" /> <strong>{{ p.seriesName }}</strong><br/> {{ formatDate(p.name) }}: {{ formatNumber(p.value) }} <HolidayBadge v-if="isHoliday(p.name)" /> </div> </template> <template #dataView="opt"> <table> <tbody> <tr v-for="(v, i) in opt.series?.[0]?.data ?? []" :key="i"> <td>{{ opt.xAxis?.[0]?.data?.[i] ?? i }}</td> <td>{{ v }}</td> </tr> </tbody> </table> </template> </VChart> 这样,你就可以直接在 Vue 模板中使用计算属性、条件渲染及组件组合,利用 Vue 的响应式更新同步管理原本依赖字符串拼接和手工操作 DOM 的内容。这是新版本对开发体验提升最明显的功能之一,欢迎大家升级体验。

利用新 API ,短短几行代码即可实现在 tooltip 中渲染嵌套图表
除了插槽,我们还为数据更新设计了智能更新策略。默认情况下,当 option 改变时,Vue ECharts 会分析数据更新的差异,决定哪些对象需要合并、哪些需要替换,自动设置 replaceMerge;如果操作风险较大则采用 notMerge: true。若需要完全控制更新逻辑,仍可通过 update-options 或开启 manual-update 来进行手动控制。
此前我们提供了专用的 vue-echarts/csp 入口,以便在启用严格 CSP 时或者 SSR 环境下加载无内联样式的版本。我们在 8.0 移除了该入口,并提供了一个新的在运行时注入内联样式的方案,在绝大多数情况下都不再需要提供无样式版本并在应用中手动引入样式文件。仅当你同时启用严格的 CSP 且目标浏览器不支持 CSSStyleSheet() API 时,才需要手动引入 vue-echarts/style.css。这意味着绝大部分项目可以直接使用默认入口,不再需要为 CSP 维护额外配置。
Vue ECharts 至今已有九年历史。长时间积累的工程配置与依赖在现代前端环境下显得陈旧。本次版本更新中,我们重构了项目的工具链和相关配置,将构建、测试和发布流程全面现代化:
这些改动主要集中在维护者和工具链层面,对 API 使用者影响有限,但意味着长期使用该库的项目可以在更现代的基础上继续前进。
借助 AI 和 Vibe coding ,我们为 Vue ECharts 的官网进行了一次设计更新,希望大家能喜欢。主要改动如下:
<textarea> + esbuild-wasm + Highlight.js 的方案
项目主页

深色模式 + import 代码生成器
Last but not least ,在 8.0 设计、迭代、发布的过程中,我们迎来了新的团队成员 @kingyue737,可以说他主导了 8.0 版本大部分功能的实现,包括插槽 API 的实现、工具链的重构升级等等。有兴趣的话可以在 GitHub 上关注他:https://github.com/kingyue737
欢迎大家尝试使用新版本,并且通过 GitHub issue 反馈问题和建议。
]]>在 v2 发贴问过类似的问题,大神根据我的描述,建议我自己开发。。。(技术咖解决问题总是这么干脆粗暴) 快接近放弃的时候,找到了一个国产的,号称只需要几行代码就可以实现的牛逼翻译,关键免费!然后试了下,发现有两种。一种是前端页面翻译,代码不变( app 也可以用,自己找找文档)。另一种是直接给你翻译成 html ,你自己绑个域名就能访问小语种的方式,非常适合 seo ,收录出词都正常。 前者叫:translate.js ( https://gitee.com/mail_osc/translate) 后者叫:TCDN ( https://translate.zvo.cn/236899.html )
在 github 和 gitee 上能搜到。
要说明的是 translate.js 纯免费,TCDN 是私有部署也是免费的。看他们官方群里消息貌似是由 gitee 和 oschina 这些大平台提供的免费算力。
反正,比 i18n 操作要简单了。好东西,值得为他推荐!
]]>比如说有什么收集 css 动画,开源的模板什么的
刷短视频经常能刷到营销号分享这类消息,不知道自己想找的话应该去哪找
]]>https://www.reddit.com/r/reactjs/comments/1dz9k6p/how_do_you_feel_about_antd/
]]>我的平台是一个学习网站,我希望用户在学习完后点击分享到 Twitter 中能够展示一个比较美观的缩略图卡片,提高点击率。
网站是用 Nuxt 编写的,刚好发现 nuxt-og-image 完全符合我的需求。我编写了一个模板,本地测试没问题。
我的网站是部署在 CloudFlare 的 Pages 中,我发现使用默认的模板可以正常渲染,但使用我自定义的模板访问 OG 图片就会提示超出 CPU 时间限制。
因此我升级了 CloudFlare ,使用付费版发现还是不行。
这是我的代码,感觉也不是很复杂
<template> <div style=" width: 1200px; height: 630px; display: flex; flex-direction: column; justify-content: center; align-items: center; background: linear-gradient(145deg, #ffffff 30%, #0ea5e9 100%); border-radius: 32px; font-family: sans-serif; color: #111827; position: relative; overflow: hidden; padding: 80px; text-align: center; box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08); " > <p style=" font-size: 32px; font-weight: 700; color: #0284c7; margin: 0 0 30px 0; " > 🚀 xxxxxxxxx! </p> <h1 style=" font-size: 76px; font-weight: 900; margin: 0 0 25px 0; line-height: 1.2; " > xxxxxxxx </h1> <p style=" font-size: 28px; font-weight: 600; color: #374151; margin: 0 0 35px 0; max-width: 900px; line-height: 1.3; " > xxxxxxxx </p> <p style=" font-size: 36px; font-weight: 900; color: #0284c7; margin: 0 0 10px 0; " > Alice </p> <div style=" width: 80px; height: 4px; background: #0284c7; border-radius: 2px; margin: 0 0 30px 0; " ></div> <p style=" font-size: 24px; color: #374151; margin: 0 0 40px 0; font-weight: 500; " > xxxxxxx </p> <div style=" position: absolute; right: 80px; bottom: 60px; font-size: 200px; color: rgba(16, 185, 129, 0.05); " > 🏆 </div> <div style=" font-size: 20px; font-weight: 400; /* 普通字重 */ color: #6b7280; /* 淡灰色 */ position: absolute; bottom: 35px; /* 靠近底部 */ text-align: center; " > Shared from xxxxxx </div> </div> </template> 请教各位大佬,有没有比较简洁快速的解决方案。
]]>
另外 deepseek 好会吹,我以前简历就只会说这个项目做了啥啥功能,现在直接把简历喂给他让他给我吹牛逼就行了。

AI 相关的前端 SDK 、可视化组件、协作工具,往往优先支持 React
大模型生成的前端代码中,React 代码质量通常比 Vue 更成熟,尤其是 Hooks + Tailwind + Next.js 的组合,几乎成了“AI 生成前端代码的默认模板”
大家还有什么可以补充的吗?或者说说你的看法
]]>想问下目前是否有更安全的混淆方式?或者别的前端防破解的方式,比如 wasm
]]>