# @everframe/metro 中文文档

规范地址：https://npmcn.com/package/%40everframe/metro/

版本：1\.7\.0
npm 元数据更新时间：2026-11-04T11:30:42.941Z
中文译文更新时间：2026-11-14T03:21:25.134Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：643 kB，6 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=20
- 运行依赖：1 个
- 首次发布：2026-10-12T09:01:54.113Z
- 最新版本发布：2026-11-04T11:30:42.764Z
- 近 30 天下载量：2396（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：14（近 12 个月 14 个）

## 中文简介

Metro序列器将一个建构身份印入Everframe符号化的 React Industrial 捆绑.

## 安装

```sh
npm install @everframe/metro
```

也可以使用：`pnpm add @everframe/metro`、`yarn add @everframe/metro`、`bun add @everframe/metro`

## README

# @ everframe/ metro (英语)

`withEverframe(config, { projectRoot, dev })` 保存现有的地铁 为Android和iOS配置并添加同步身份多填充. 它生成一个构建的ID并写入 `.everframe/<buildId>/manifest.partial.json` 带有 `identity.js` 混合填充剂。 组合填充 `globalThis.__EVERFRAME_BUILD__` 在应用程序模块执行之前.

每个平台都有自己的ID和捆绑名称: `index.android.bundle` 在安卓上, `main.jsbundle` (原始内容存档于2018-03-26). On iOS. 原生版本、发布标签和OTA供应商更新ID 不可替换此捆绑的身份 。 设定 `enabled: false` 当对应时 SDK被排除在建筑物之外.

每个构建任务使用一个孤立的运行目录 。 地铁两站台 在配置时间。 集合读取所生成的身份 绘制地图,检查部分阶段和编译的建设身份证,并推广已完成的身份证 构建到 `latest-<platform>.json`。收集前的后期配置负载为 安全; 不要在收藏和上传之间运行另一个 Metro 引用 。 保留匹配的字节代码和地图; 重用不同生成字节的构建 ID 不是一个新版本 .

在赫尔墨斯编译器释放了字节代码及其构成的地图后:

```sh
npx @everframe/cli build collect --staging .everframe --platform android \
  --bundle path/to/index.android.bundle \
  --source-map path/to/index.android.bundle.map
npx @everframe/cli build verify --staging .everframe --platform android --release
npx @everframe/cli sourcemaps upload-hermes --manifest .everframe \
  --platform android --app-id "$EVERFRAME_APP_ID"
```

提供范围d `EVERFRAME_API_TOKEN` 仅用于构建/上载进程。 见 [博览会更新指南](https://npmcn.com/package/%40everframe/expo/README.md) 用于导出和装入捆绑的身份.

## 来源承诺

当前反应原生SDK将已装入的Hermes捆绑的身份附加到普通反馈报告和崩溃中. 发布健康监测可以被禁用;报告仍然解决了准确上传的捆绑,包括OTA更新共享本地版本/构建.

反应原生iOS/Android 建立可选的 Git 承诺、分支和肮脏的记录 状态。 Metro 在写入中转文件前抓取这些文件; 收集并上传 保存该快照,包括世博会出口和OTA更新. 保留 `.everframe/` 在你的Git忽略规则。 缺失的 Git 退出不会停止构建或上传 .

明确 `withEverframe(config, { commit: '<full-sha>' })` 优先于 本地头部,然后是CI倒置(`GITHUB_SHA`, (中文(简体) ), `CI_COMMIT_SHA`, (中文(简体) ), `BITBUCKET_COMMIT`, (中文(简体) ), `BUILD_SOURCEVERSION`) (中文(简体) ). 使用完整的40-或64-特征 十六进制承诺. 已调试的退出会省略分支; 未知状态, 而非干净 .

`everframe sourcemaps upload-hermes`, (中文(简体) ), `upload-expo-export`原生状态 `dsym`, (中文(简体) ), `elf`,以及 `r8` 接受上传命令 `--commit <full-sha>`。带有 不同犯罪记录的分支/肮脏事实。 遗留记录没有 出处未知; 延迟的上传从未读取过上传者的头部 . 直接单艺术上传从工作目录中检测到 Git, 这样使用 `--commit` 当上传旧文件时。 本地人口总数 `dsym upload-build` 财务报告和审定财务报表 `elf upload-build` 命令(包括 Xcode/ Gradle 集成) 离开源 默认来源不明:其符号可能包括再利用或销售二进制. 使用 `--commit` 只有在每一件选定文物属于该来源时,才能进行; 以自己的明确承诺上传每个已知的文物。 自动 土生土长的源的归属仍然是后续工作.

服务必须支持添加剂 `vcs` 在使用这些字段之前显示字段 工具版本。 老年客户仍然得到最新服务的支持。 部署 服务器在发布新工具前的支持; 不在其中剥去出处 对任意上传失败的反应.

## 常见问题

### @everframe/metro 是什么？

Metro序列器将一个建构身份印入Everframe符号化的 React Industrial 捆绑\.

### 如何安装 @everframe/metro？

在项目目录运行 npm install @everframe/metro，或使用 pnpm add / yarn add / bun add。

### @everframe/metro 支持 TypeScript 吗？

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

### @everframe/metro 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @everframe/metro 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=20。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @everframe/metro 可以商用吗？

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

### @everframe/metro 的下载量有多少？

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

### @everframe/metro 还在维护吗？

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

