12k
第 9 页

OpenReplay 博客

你应该从 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

Vike:Next.js 与 Nuxt 的替代方案

对比 Vike、Next.js 和 Nuxt,了解这款基于 Vite 的元框架如何支持 SSR、SSG、SPA 及灵活部署。

OpenReplay Team · May 17, 2026 · 4 min read

将 Express 应用迁移到 Hono 的实用建议

将 Express 应用迁移到 Hono?了解路由、middleware、请求体解析、错误处理和渐进式迁移的关键差异。

OpenReplay Team · May 17, 2026 · 4 min read

使用 CSS 变量构建主题切换器

用 CSS 变量、data-theme、prefers-color-scheme 和 localStorage 构建主题切换,并避免加载时错误主题闪烁。

OpenReplay Team · May 16, 2026 · 5 min read

JavaScript 有没有自己的 Rails?

JavaScript 有 Rails 吗?对比 AdonisJS、Wasp、Next.js 和 Sails.js,看看哪些框架内置 auth、ORM 和 scaffolding。

OpenReplay Team · May 16, 2026 · 4 min read

从提示词到 UI:Google Stitch 实战指南

Google Stitch可将提示词转为UI布局、原型和HTML导出。了解如何写出更好的提示词、使用DESIGN.md并加快交付。

OpenReplay Team · May 15, 2026 · 4 min read

代码度量详解:什么是圈复杂度?

用JavaScript示例、公式以及ESLint和SonarQube工具解释圈复杂度,帮助衡量并减少分支逻辑。

OpenReplay Team · May 15, 2026 · 4 min read

使用 Preact 实现服务端渲染

使用preact-render-to-string、hydrate和Vite实现Preact SSR:讲解服务端渲染、流式传输及避免hydration不匹配的技巧。

OpenReplay Team · May 14, 2026 · 4 min read

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