12k
第 2 页

OpenReplay 博客

永远不应该缓存的内容

不要缓存用户专属数据、认证响应、JWT 和敏感页面。了解如何安全使用 no-store、private 和 bfcache。

OpenReplay Team · May 29, 2026 · 5 min read

审计 GitHub Workflows 的安全风险

审计 GitHub Actions 的令牌权限、脚本注入、pull_request_target 风险、动作固定、自托管 runner 和 OIDC。

OpenReplay Team · May 29, 2026 · 5 min read

如何为 Electron 应用添加身份验证

在 Electron 应用中添加身份验证:OAuth 2.0 PKCE、系统浏览器登录、深链接或 loopback 重定向,以及 safeStorage 安全保存令牌。

OpenReplay Team · May 28, 2026 · 5 min read

Next.js 的五种替代方案

2026年可替代Next.js的5种框架:React Router v7、Astro 5、SvelteKit、Nuxt 4 和 TanStack Start。

OpenReplay Team · May 28, 2026 · 4 min read

为 JavaScript 项目选择静态站点生成器

比较 Astro 6、Eleventy 3、Next.js 16、Nuxt 4 和 SvelteKit,选择适合 JavaScript 项目的静态站点生成器。

OpenReplay Team · May 27, 2026 · 5 min read

使用 prefers-reduced-motion 实现无障碍动画

使用 prefers-reduced-motion 通过 CSS、JavaScript 和 Motion.dev 安全减少动画,并了解测试方法与 WCAG 指南。

OpenReplay Team · May 27, 2026 · 5 min read

使用 CSS all: unset 移除原生元素样式

使用 all: unset 清除 CSS 原生样式,重置按钮和表单控件,并恢复 focus-visible 可访问性。

OpenReplay Team · May 26, 2026 · 4 min read

你应该从 npm 切换到 pnpm 吗?

要从 npm 切换到 pnpm 吗?比较依赖隔离、磁盘节省、工作区协作和 pnpm 11 的构建脚本审批。

OpenReplay Team · May 26, 2026 · 4 min read

如何检测浏览器标签页变为非活动状态

使用 Page Visibility API 检测浏览器标签页何时变为非活动状态。借助 visibilitychange 暂停轮询、媒体播放和分析跟踪。

OpenReplay Team · May 25, 2026 · 5 min read

Chrome 扩展 Manifest V3 详解

解析 Manifest V3:service worker、declarativeNetRequest、chrome.action、Offscreen API,以及为何移除 MV2 后台页面和远程代码。

OpenReplay Team · May 25, 2026 · 4 min read

React Compiler 与手动 Memoization 对比

React Compiler 与手动记忆化:了解 React.memo、useMemo 和 useCallback 何时自动生效,以及何时仍需手动控制。

OpenReplay Team · May 24, 2026 · 4 min read

智能体浏览器入门

Agentic浏览器正在改变Web应用。了解它们与Selenium的区别、语义化HTML的重要性,以及开发者需要应对的安全风险。

OpenReplay Team · May 24, 2026 · 4 min read

如何在浏览器中持久化表单状态

用 localStorage、sessionStorage 或 IndexedDB 在浏览器中持久保存表单状态。了解自动保存、恢复字段和安全清除数据。

OpenReplay Team · May 23, 2026 · 4 min read

使用 Knip 清理无用文件和依赖

Knip可检测 JavaScript 和 TypeScript 项目中的未使用文件、导出和依赖项,并支持自动修复与 CI 清理。

OpenReplay Team · May 23, 2026 · 4 min read

使用 Scheduler API 在浏览器中处理后台任务

使用 Scheduler API 通过 scheduler.postTask() 和 scheduler.yield() 优先安排主线程任务,并说明支持检测与降级方案。

OpenReplay Team · May 22, 2026 · 4 min read

Git Stash 完全指南

Git stash命令、pop与apply区别、冲突处理、未跟踪文件,以及无需提交即可保存和恢复工作的最佳做法。

OpenReplay Team · May 22, 2026 · 6 min read

使用 Node Corepack 管理包管理器

Node Corepack 介绍如何固定 Yarn 和 pnpm 的包管理器版本,并说明 Node.js 25 变化、CI 配置、Docker 和离线使用。

OpenReplay Team · May 21, 2026 · 4 min read

使用 CSS scroll-behavior 实现平滑滚动

使用CSS的scroll-behavior: smooth实现锚点平滑滚动,借助scroll-margin-top避免固定头部遮挡,并兼顾无障碍体验。

OpenReplay Team · May 21, 2026 · 4 min read

如何重置 WordPress 管理员密码

通过仪表盘、忘记密码链接、WP-CLI或phpMyAdmin重置WordPress管理员密码,并了解恢复后安全检查步骤。

OpenReplay Team · May 20, 2026 · 4 min read

设计令牌(Design Tokens)简明入门

了解设计令牌的含义、原始令牌与语义令牌的区别,以及 CSS 变量和 Style Dictionary 的作用。

OpenReplay Team · May 20, 2026 · 4 min read

Svelte 开发最佳实践

Svelte 5 实用规范:$state、$derived、context 和 SvelteKit 数据加载,以及 keyed each 和现代语法的要点。

OpenReplay Team · May 19, 2026 · 4 min read

使用 PlanetScale 构建可扩展的 MySQL 数据库

PlanetScale用于可扩展MySQL数据库:基于Vitess的扩展、数据库分支、deploy request和无阻塞模式迁移。

OpenReplay Team · May 19, 2026 · 5 min read

如何修复 npm 中的 EACCES:Permission Denied 错误

在 macOS 和 Linux 上修复 npm EACCES permission denied,可用 nvm、用户拥有的全局 prefix 或 npx,避免 sudo。

OpenReplay Team · May 18, 2026 · 4 min read

在 Node.js 中跨异步调用保持上下文

使用 AsyncLocalStorage 在 Node.js 异步调用中保持请求 ID、用户 ID 和租户数据。了解 run() 与 getStore() 的用法。

OpenReplay Team · May 18, 2026 · 4 min read

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