@acemarke/react-prod-sourcemaps

中文文档
0.3.2发布于 2026/08/06MITTypeScriptESM + CJS近 30 天下载 2.8万

用 ReactDOM 制作的原始代码更新 app sourcemaps 的工具构建

中文使用文档
文档目录6 节
  1. 背景情况
  2. 目录
  3. 反应版本
  4. CLI 使用量
  5. 构建插件使用
  6. 未来计划

反应- prod- source映射

用 ReactDOM 制作的原始代码来更新app sourcemaps 的工具建立 .

背景情况

反应从未运出任何生产过程中的源图 建造出文物。 这使得生产中React内部无法有意义地调试出错误. React的源代码在原始形式上已经难以理解了 - 尝试弄清楚当您只有单字符可变名称时会发生什么,没有评论是 无法。 。 。 .

2023年,我提交了一个反应PR at https://github.com/facebook/react/pull/26446 页面存档备份,存于互联网档案馆 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}这个更新的React的建造管道 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}生成生产文物的源图 它最终被合并,后又被恢复. 相反,"回想"19号将携带优化而未变质的活化文物出航. 这意味着应用程序的构建步骤会将React所生的活化出自己,因此React的源会被调试.

不过,这无助于调试 当前 反应的版本.

我做了一些工作来检查 早期的React版本的被标记的源代码, 在当地重建这些版本, 并核实这些文物是相同的字节。 然后把建造管道的改变 从公关转到那些 旧的退货版本 并建立了源图 将 已经为每个版本生成.

这里可以看到实际使用的构建变化:

  • https://github.com/facebook/react/compare/v18.2.0.... replayio:react:feature/react-sourcemaps-18.2.0

目录

该套件包括:

  • 实际来源图
  • 通过内容散列搜索特定 React 和 ReactDOM prod 的输入源图的逻辑,并通过源图以“ 原始的” 预密接源替换
  • 一个将装入给定输入源图文件并重写它的 CLI 工具
  • 一个将自动替换应用程序捆绑中发现的 React 包源图的构建工具插件

反应版本

此软件包目前包含针对这些版本的回放和回放DOM的源图 :

  • 18.3.1 国家
  • 18.3.0 (单位:千美元)
  • 18.2.0 (中文(简体) )
  • 18.1.0 (中文(简体) )
  • 18.0.0 (单位:千美元)
  • 17.0.2 (韩语)
  • 17.0.1 (中文(简体) )
  • 17.0.0 (单位:千美元)

CLI 使用量

yarn add @acemarke/react-prod-sourcemaps
./node_modules/.bin/react-prod-sourcemaps --inputFile path/to/your/appBuild/sourcemap.js.map
# Output file will currently be written to sourcemap.remapped.js.map

构建插件使用

构建插件使用 无插件,意味着我们目前支持网络包装,建设,滚出,活字和rspack(实验性).

插件支持以下选项:

键价值所需经费默认建议函数
调试布尔没有虚假虚假启用调试日志
保护布尔没有虚假虚假在路径/到/出站/出站/出站/出站/出站/出站/出站/出站/出站/出站/出站/出站/出站/出站/出站/出站/出站/出站/出站/出站/出站/出站后保存原始出站出站出站出站出站出站出站出站
模式"严格"没有未定义"严格"如果构建工具没有生成源映射文件, 则会让构建插件丢出错误

3⁄4 ̄ ̧漯B:如果源映射生成没有被您的构建工具所启用(或者它没有正确的设置),插件将默默地失败而不会执行任何源映射再映射. 我们建议使用模式设置 : “ 严格 ” , 以防您想要插件在此情况下出错 .

网页包 :

import { WebpackReactSourcemapsPlugin } from "@acemarke/react-prod-sourcemaps";

module.exports = {
  // ...webpack config
  devtool: "source-map", // or any other option that generates separate .map.js files
  plugins: [WebpackReactSourcemapsPlugin({ debug: false, preserve: false })],
};

兴建 :

import { EsbuildReactSourcemapsPlugin } from "@acemarke/react-prod-sourcemaps";

esbuild.build({
  // ...esbuild config
  sourcemap: true, // or any other option that generates separate .map.js files
  plugins: [EsbuildReactSourcemapsPlugin({ debug: false, preserve: false })],
});

滚动 :

import { RollupReactSourcemapsPlugin } from "@acemarke/react-prod-sourcemaps";

rollup({
  // ...rollup config
  output: {
    sourcemap: true, // or any other option that generates separate .map.js files
  },
  plugins: [RollupReactSourcemapsPlugin({ debug: false, preserve: false })],
});

维特:

import { ViteReactSourcemapsPlugin } from "@acemarke/react-prod-sourcemaps";

vite.build({
  // ...vite config
  build: {
    sourcemap: true, // or any other option that generates separate .map.js files
  },
  plugins: [ViteReactSourcemapsPlugin({ debug: false, preserve: false })],
});

未来计划

  • 为更多反应版本添加源图
  • 向 CLI 工具添加更多选项 :
    • 文件夹中的 Glob 源图
    • 覆盖原始源图路径

版本与发布记录

@acemarke/react-prod-sourcemaps 共发布 12 个版本,首次发布于 2023/08/29;过去 12 个月发布了 1 个版本。

版本发布日期距今
0.3.2latest2026/08/063 个月前
0.3.12024/09/142 年前
0.3.02024/09/142 年前
0.2.22024/08/272 年前
0.2.12023/09/283 年前
0.2.02023/09/273 年前

关于 @acemarke/react-prod-sourcemaps 的常见问题

@acemarke/react-prod-sourcemaps 是什么?

用 ReactDOM 制作的原始代码更新 app sourcemaps 的工具构建

如何安装 @acemarke/react-prod-sourcemaps?

在项目目录运行 npm install @acemarke/react-prod-sourcemaps,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 react-prod-sourcemaps,可以用 npx react-prod-sourcemaps 直接运行。

@acemarke/react-prod-sourcemaps 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@acemarke/react-prod-sourcemaps 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@acemarke/react-prod-sourcemaps 可以商用吗?

@acemarke/react-prod-sourcemaps 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@acemarke/react-prod-sourcemaps 的下载量有多少?

根据 npm 官方下载统计,@acemarke/react-prod-sourcemaps 在 2026/10/05 – 2026/11/03 这 30 天内被下载 27,836 次,日均约 928 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@acemarke/react-prod-sourcemaps 还在维护吗?

最新版本 0.3.2 发布于 2026/08/06(3 个月前);至今共发布 12 个版本,其中过去 12 个月发布了 1 个;首次发布于 2023/08/29。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。