12k
第 3 页

OpenReplay 博客

修复服务端渲染应用中的 “window is not defined” 错误

通过挂载钩子、typeof window 检查和仅客户端导入,修复服务端渲染应用中的 window is not defined 错误。

OpenReplay Team · Sep 5, 2026 · 6 min read

面向 Web 开发者的提示注入(Prompt Injection)详解

面向Web开发者的提示词注入解析:为什么没有提示层修复,以及如何限制间接攻击、不可信输出和工具风险。

OpenReplay Team · Sep 5, 2026 · 5 min read

初探 Gea:一个编译器优先的 UI 框架

Gea 是一个以编译器为先的 JavaScript UI 框架,使用 JSX、类 store 和直接 DOM 补丁。文章分析其 props 模型、体积和成熟度。

OpenReplay Team · Sep 4, 2026 · 5 min read

从零开始编写 WordPress 插件

从零构建 WordPress 插件,涵盖钩子、启用和停用钩子、设置页、数据清理、转义以及安全保存。

OpenReplay Team · Sep 4, 2026 · 6 min read

如何修复 React 中的 Invalid Hook Call 错误

通过检查堆栈、Rules of Hooks、重复的 React 副本和 react-dom 版本不匹配,修复 React invalid hook call 错误。

OpenReplay Team · Sep 3, 2026 · 6 min read

在 AI 编码 Agent 中使用 Git Worktrees

使用 git worktrees 配合 AI 编码代理,隔离分支、避免文件冲突,并安全管理端口、数据库和合并。

OpenReplay Team · Sep 3, 2026 · 5 min read

Git Worktree 详解:何时使用、为何使用

解析 Git worktree:与 stash 和第二个克隆的区别、适用场景,以及管理它们的常用命令。

OpenReplay Team · Sep 2, 2026 · 5 min read

不稳定网络下的 3 种 SSH 替代方案

比较 Mosh、Eternal Terminal 和 autossh 处理不稳定 SSH 连接:UDP、TCP 重新连接、服务器需求以及 tmux 搭配。

OpenReplay Team · Sep 2, 2026 · 5 min read

如何统计 Token 数量并估算 LLM API 成本

使用 OpenAI、Claude、Gemini 和 Llama 的 tokenizer 精确计算 LLM token,并估算 API 成本、上下文窗口和计费。

OpenReplay Team · Sep 1, 2026 · 6 min read

ECMAScript 2026 新特性一览

ES2026 为 JavaScript 增加七项新功能:Array.fromAsync、Math.sumPrecise、Uint8Array 的 base64 和 hex 方法、JSON.parse 源文本访问,以及 getOrInsert。

OpenReplay Team · Sep 1, 2026 · 6 min read

如何检查 WCAG 的颜色对比度

了解如何用合适的工具和标准检查WCAG颜色对比度,涵盖文本、UI组件、焦点指示和链接。

OpenReplay Team · Aug 31, 2026 · 6 min read

如何在上传前生成图片缩略图

上传前创建图片缩略图:FileReader 预览、Canvas toBlob 缩放、FormData 上传和 multer 字段匹配。

OpenReplay Team · Aug 31, 2026 · 7 min read

VuePress 与 VitePress:该选哪一个?

VuePress 与 VitePress 的 Vue 文档对比:维护状态、开发速度、自定义能力,以及何时选择 VitePress 或 Docusaurus。

OpenReplay Team · Aug 30, 2026 · 6 min read

ORM 何时是错误的工具

当 ORM 成为瓶颈时,可用原生 SQL 处理 N+1 查询、窗口函数、CTE、批量写入和安全的参数化。

OpenReplay Team · Aug 30, 2026 · 6 min read

如何为 Vue 应用添加视频播放功能

为Vue应用添加视频播放:原生HTML5 video、可复用组件或Video.js,支持HLS、字幕、自动播放和清理。

OpenReplay Team · Aug 29, 2026 · 7 min read

超越 commit 和 push 的 5 个 Git 命令

超越 commit 和 push 的 5 个 Git 命令:stash、reflog、cherry-pick、rebase -i 和 bisect,用于恢复、整理历史和查找 bug。

OpenReplay Team · Aug 29, 2026 · 6 min read

如何创建阅读进度条

使用 JavaScript 或 CSS 滚动驱动动画创建阅读进度条,涵盖正确的滚动计算、性能优化和无障碍处理。

OpenReplay Team · Aug 28, 2026 · 7 min read

在开发环境中用命名 URL 取代端口号

使用 .localhost、反向代理或 portless 将 localhost 端口替换为命名 URL,避免端口冲突、Cookie 串扰和标签页弄错。

OpenReplay Team · Aug 28, 2026 · 6 min read

使用 preact/compat 在 Preact 中运行 React 库

使用 preact/compat 在 Preact 中运行 React 库,并提供 Vite、webpack、Rollup、Jest、TypeScript 的 alias 配置及常见故障说明。

OpenReplay Team · Aug 27, 2026 · 6 min read

Deno 权限模型详解

Deno 权限模型解析:allow 与 deny 标志、作用范围、deno.json 权限集、Permissions API,以及常见安全陷阱。

OpenReplay Team · Aug 27, 2026 · 6 min read

使用 ESLint 对 TypeScript 进行 Lint 检查

TypeScript 的 ESLint 10 flat config:用 typescript-eslint 配置,开启 projectService 类型感知 lint,并正确接入 Prettier。

OpenReplay Team · Aug 26, 2026 · 6 min read

深入解析 JavaScript 的 Error.isError()

Error.isError() 可跨 realm 判断真实的 JavaScript 错误,解释它为何优于 instanceof Error,并介绍安全回退用法。

OpenReplay Team · Aug 26, 2026 · 6 min read

如何修复 React 中的 “Maximum Update Depth Exceeded”

通过一行修复解决 React 的 maximum update depth exceeded 错误,涵盖渲染循环、effect 依赖、处理器和节流。

OpenReplay Team · Aug 25, 2026 · 6 min read

深入理解 N+1 查询问题

解析N+1查询问题,涵盖Rails、Django、Hibernate和Laravel的解决方案,以及eager loading、JOIN和检测方法。

OpenReplay Team · Aug 25, 2026 · 7 min read

We use cookies to improve your experience. By using our site, you accept cookies.