# @frida/mold-source-map 中文文档

规范地址：https://npmcn.com/package/%40frida/mold-source-map/

版本：1\.0\.0
npm 元数据更新时间：2026-06-24T21:45:54.171Z
中文译文更新时间：2026-11-15T16:48:04.055Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40frida/mold-source-map
原文对照：https://npmcn.com/package/%40frida/mold-source-map/?lang=original
项目主页：https://github.com/frida/mold-source-map
源码仓库：https://github.com/frida/mold-source-map

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：18.5 kB，18 个文件
- TypeScript 类型：未声明
- 运行依赖：2 个
- 首次发布：2021-06-15T21:18:45.793Z
- 最新版本发布：2021-06-15T21:18:46.140Z
- 近 30 天下载量：2191（2026-10-16 至 2026-11-14，npm 官方下载统计）
- 已发布版本数：1（近 12 个月 0 个）

## 中文简介

将一个近乎完美的原始地图 制作成一个.

## 安装

```sh
npm install @frida/mold-source-map
```

也可以使用：`pnpm add @frida/mold-source-map`、`yarn add @frida/mold-source-map`、`bun add @frida/mold-source-map`

## README

# 模具源图

由Frida项目维持至 [上游](https://github.com/thlorenz/mold-source-map) 来合并待定公关.

## 关于

将一个近乎完美的原始地图 制作成一个.

```js
browserify()
  .require(require.resolve('./project/js/main.js'), { entry: true })
  .bundle({ debug: true })

  // will show all source files relative to jsRoot inside devtools
  .pipe(mold.transformSourcesRelativeTo(jsRoot))
  .pipe(fs.createWriteStream(bundlePath));
```

完整实例 [这里](https://github.com/thlorenz/mold-source-map/blob/master/examples/browserify-sources.js)。 。 。 .

## 安装

```
npm install mold-source-map
```

## API 密码

### 变换

变形还原了双层流 因此很容易被线接入一个捆绑器 流出产生的捆绑, 喜欢 [浏览器](https://github.com/substack/node-browserify)。 。 。 .

#### 变换( 函数映射( sourcemap \[, callback\] ) qq)

这是最通用和最强的特性,因为它可以将整个源映射注释替换为另一个 `String`。 。 。 .

它需要一个地图函数作为输入 `sourcemap` 参数具有关于现有源图的所有信息和许多函数.

可选 `callback` 可使用最后源地图注释调回。 如果它被赋予, 转变会 同步引用函数, 否则您可以返回最后的源地图注释 .

有段话要说 [实例](https://github.com/thlorenz/mold-source-map/blob/master/examples/browserify-external-map-file.js) 显示如何使用此功能来写入外部映射文件并指向浏览器 :

```js
function mapFileUrlComment(sourcemap, cb) {
  
  // make source files appear under the following paths:
  // /js
  //    foo.js
  //    main.js
  // /js/wunder
  //    bar.js 
  
  sourcemap.sourceRoot('file://'); 
  sourcemap.mapSources(mold.mapPathRelativeTo(jsRoot));

  // write map file and return a sourceMappingUrl that points to it
  fs.writeFile(mapFilePath, sourcemap.toJSON(2), 'utf-8', function (err) {
    if (err) return console.error(err);
    cb('//@ sourceMappingURL=' + path.basename(mapFilePath));
  });
}

browserify()
  .require(require.resolve('./project/js/main.js'), { entry: true })
  .bundle({ debug: true })
  .pipe(mold.transform(mapFileUrlComment))
  .pipe(fs.createWriteStream(bundlePath));
```

[此示例](https://github.com/thlorenz/mold-source-map/blob/master/examples/browserify-external-map-file-sync.js) 使用同步操作实现相同.

### 方便变化

以下将改变特殊用途案例。 所有这些案例都可以在普遍改革后实施.

### 变换源代码( root: String)

```
/**
 * Adjusts all sources paths inside the source map contained in the content that is piped to it.
 *
 * Example: bundleStream.pipe(mold.sourcesRelative(root)).pipe(fs.createWriteStream(bundlePath))
 *
 * @name sourcesRelative
 * @function
 * @param root {String} The path to make sources relative to.
 * @return {Stream} A duplex stream that writes out content with source map that had all sources paths adjusted.
 */
```

## 不稳定的 API

更定制/更先进的API将会被曝光/正在曝光,但波动仍然很大.

看看这个 `index.js` 来了解即将到来/已经到来.

## 常见问题

### @frida/mold-source-map 是什么？

将一个近乎完美的原始地图 制作成一个\.

### 如何安装 @frida/mold-source-map？

在项目目录运行 npm install @frida/mold-source-map，或使用 pnpm add / yarn add / bun add。

### @frida/mold-source-map 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/frida\_\_mold-source-map 是否存在。

### @frida/mold-source-map 可以商用吗？

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

### @frida/mold-source-map 的下载量有多少？

根据 npm 官方下载统计，@frida/mold-source-map 在 2026/10/16 – 2026/11/14 这 30 天内被下载 2,191 次，日均约 73 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @frida/mold-source-map 还在维护吗？

最新版本 1\.0\.0 发布于 2021/06/16（5 年前）；至今共发布 1 个版本，其中过去 12 个月发布了 0 个；首次发布于 2021/06/16。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

