# @blotch/angular-lynx-build 中文文档

规范地址：https://npmcn.com/package/%40blotch/angular-lynx-build/

版本：22\.2\.18
npm 元数据更新时间：2026-11-08T01:59:30.920Z
中文译文更新时间：2026-11-08T08:11:45.776Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40blotch/angular-lynx-build
原文对照：https://npmcn.com/package/%40blotch/angular-lynx-build/?lang=original
项目主页：https://github.com/Blotch-Smart-Frames/AngularLynx#readme
源码仓库：https://github.com/Blotch-Smart-Frames/AngularLynx

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

- 包体积（解压后）：77.5 kB，25 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.12
- 运行依赖：4 个
- peer 依赖：@angular/build ^22\.2\.0，@angular-devkit/architect \>=0\.2200\.0 \<0\.2300\.0
- 首次发布：2026-10-15T23:05:24.058Z
- 最新版本发布：2026-11-08T01:59:30.577Z
- 近 30 天下载量：3181（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：19（近 12 个月 19 个）

## 中文简介

用于AngularLynx的Angular CLI构建者:为Lynx的ng构建,ng服务和ng测试,以及本地iOS和Android应用

## 安装

```sh
npm install @blotch/angular-lynx-build
```

也可以使用：`pnpm add @blotch/angular-lynx-build`、`yarn add @blotch/angular-lynx-build`、`bun add @blotch/angular-lynx-build`

## README

# @blotch/angular-lynx- 建设

角 CLI 构建器 [角线](https://github.com/Blotch-Smart-Frames/AngularLynx)数字 : `ng build`, (中文(简体) ), `ng serve`, (中文(简体) ), `ng test` 财务报告和审定财务报表 `ng extract-i18n` 给林克思,和 `ng build --platform ios|android|all` 为本地应用程序.

```bash
ng add @blotch/angular-lynx   # installs this package and sets up angular.json
```

这是AngularLynx应用程序需要的唯一依赖,因为 `@angular/build` 用于网络应用:它带来快活, 编译 Angular 的 rsbuilding 插件, QR 代码插件和带它的本地应用构建器 .

## 构建器

```jsonc
// angular.json, as `ng add` writes it
"build": {
  "builder": "@blotch/angular-lynx-build:application",
  "options": { "browser": "src/main.ts", "tsConfig": "tsconfig.app.json" /* ... */ },
  "configurations": {
    "production": { "budgets": [/* ... */], "outputHashing": "all" },
    "development": { "optimization": false, "extractLicenses": false, "sourceMap": true }
  },
  "defaultConfiguration": "production"
},
"serve": {
  "builder": "@blotch/angular-lynx-build:dev-server",
  "configurations": {
    "production": { "buildTarget": "my-app:build:production" },
    "development": { "buildTarget": "my-app:build:development" }
  },
  "defaultConfiguration": "development"
},
"test": {
  "builder": "@blotch/angular-lynx-build:unit-test"
},
"extract-i18n": {
  "builder": "@blotch/angular-lynx-build:extract-i18n"
}
```

| 构建器 | 命令 | 它会做什么 |
| --- | --- | --- |
| `application` | `ng build` | 将 Lynx 捆绑( 和网页预览捆绑) 构建为 `dist/` 与 [转速](https://lynxjs.org/rspeedy/) |
|  | `ng build --watch` | 文件更改时重建捆绑 |
|  | `ng build --platform ios` | 然后构建 iOS app (`--platform android` 或者说 `all` 改为: `dist/<platform>/` |
|  | `... --run` | 然后在模拟器、模拟器或电话上安装应用程序并打开(`--device` 选择一个) |
| `dev-server` | `ng serve` | 运行 Ryspey 用于 Lynx 探索器和网络预览的 Dev 服务器,并打印 QR 代码 Lynx 探索器扫描 |
| `unit-test` | `ng test` | 用为Lynx设计的Angular自己的单位测试构建器(Vitest)进行单位测试 |
| `extract-i18n` | `ng extract-i18n` | 用为 Lynx 所设置的 Angular 自己的提取- i18n 构建器提取 i18n 信件 |

他们的行为就像Angular自己的建造者:

-   **配置和覆盖适用.** 构建目标选项会随着Angular CLI的解析到达编译器,所以 `ng build -c development` 和旗帜,如 `--optimization=false` 工作时.
-   **`optimization` 在生产与开发之间做出决定.** 没有 `mode` 选项:如同在Angular中,优化脚本的构建是生产构建,而不是一个带有dev模式的开发构建. `ng build -c development` 是一种发展建设 `ng serve -c production` 服务于生产.
-   **`ng serve` 建设其 `buildTarget`**,默认情况下,构建目标 `development` 配置 . `--port` 编号 : `--host` 覆盖 `server` 在 lynx.config.ts (英语).
-   **预算得到执行.** 这个 `budgets` 在构建目标中根据 Lynx 捆绑和组件样式表进行检查,并附上Angular 的信息; `ng add` 大小 `initial` lynx捆绑的预算 见插件的 [读取](https://npmcn.com/package/%40blotch/rsbuild-plugin-angular-lynx/README.md#budgets)。 。 。 .
-   **`intl` 添加 `Intl` APIs Lynx缺少.** `"intl": ["NumberFormat", "Collator"]` 把它们装入Lynx的捆绑中,并附有数据 `i18n.sourceLocale` 财务报告和审定财务报表 `i18n.locales`;网页预览使用浏览器的. 见插件的 [读取](https://npmcn.com/package/%40blotch/rsbuild-plugin-angular-lynx/README.md#intl)。 。 。 .
-   **`--watch` 仅重建捆绑.** 无法结合 `--platform`: 使用 `ng serve` 开发,和 `ng build --platform` 为应用程序.
-   **`baseHref` 前缀网页捆绑的资产 URL.** Lynx for Web在显示捆绑的页面上解决了捆绑的图像,而非捆绑,因此在路径下服务了被捆绑的网页(Lynx for the settle)`/shop/`需求 `ng build --base-href=/shop/`,它设置了 ruspey 的 `output.assetPrefix` 联 合 国 `web` 环境。 Lynx捆绑解决了它的资产 与自己相对并被孤立.

选项在 [`builders/application/schema.json`](https://npmcn.com/package/%40blotch/angular-lynx-build/builders/application/schema.json), (中文(简体) ), [`builders/dev-server/schema.json`](https://npmcn.com/package/%40blotch/angular-lynx-build/builders/dev-server/schema.json), (中文(简体) ), [`builders/unit-test/schema.json`](https://npmcn.com/package/%40blotch/angular-lynx-build/builders/unit-test/schema.json) 财务报告和审定财务报表 [`builders/extract-i18n/schema.json`](https://npmcn.com/package/%40blotch/angular-lynx-build/builders/extract-i18n/schema.json)。 。 。 .

## 纳克测试

这个 `unit-test` 建造者是角力的 `@angular/build:unit-test`为林克丝准备的 它的选择是Angular's(`include`, (中文(简体) ), `watch`, (中文(简体) ), `coverage`, (中文(简体) ), `setupFiles`, (中文(简体) ), `providersFile`,.):它的图案是Angular's的复制品,测试使两者步入正轨. 它发现 `*.spec.ts` 财务报告和审定财务报表 `*.test.ts` 文档,而且测试会像应用程序一样提前编译。 在Angular的设置之上:

-   定义 AngularLynx 运行时读取的编译时间标记(`__DEV__`, (中文(简体) ), `__MAIN_THREAD__`通过多填充(.)`@blotch/angular-lynx-build/unit-test/lynx-globals`负载在一切之前;
-   负载 `@blotch/angular-lynx-testing-library`在项目有图书馆时设置的,所以 `render()` 在应用程序中没有设置文件或 Vitest 配置;
-   手执 将建设目标作为Angular 目标,只有两个建设者共享的选项,因此Angular既不警告未知的建设者,也不拒绝仅使用 Lynx 选项;
-   将导入的图像、字体和媒体作为文件 URL加载,就像 raspey 在应用中所做的那样.

有两件事和任何Angular应用程序一样有效, 与一个简单的Vitest设置不同:

-   **严格检查模板 .** 使用 Lynx 元素导入的组件 `LYNX_ELEMENTS`,正如Angular语言服务已经要求的那样(生成组件确实如此)。 应用架构更松:它添加了 `CUSTOM_ELEMENTS_SCHEMA` 给每个组件,Angular的测试结构没有钩子.
-   **测试代码已选中类型**,并且测试文件共享一个模块图(Angular的跑取器默认不会被隔离). `vi.mock` 相对进口不支持, 嘲笑 `@angular/core` 将泄露到其他测试文件.

## 纳克提炼-i18n

这个 `extract-i18n` 建造者是角力的 `@angular/build:extract-i18n`为林克丝准备的 它的选择是Angular's(`format`, (中文(简体) ), `outputPath`, (中文(简体) ), `outFile`和,至于 `ng test`它的图案是Angular的复制品 一个测试能保持同步 Angular CLI只为Angular的建设者之一所建造的项目选择取出器,因此AngularLynx应用需要目标: `ng add` 写它,和 `add-i18n` 让JSON写给 `src/locale`,哪个 `loadTranslations()` 拿着.

Angular的提取器会用Angular的应用程序构建器来编译应用程序. 一样 `ng test`,它以Angular 目标获得构建目标,并导入图像,字体和媒体负载作为文件 URL:没有装入器,Angular的构建在第一个导入图像时会停止. 无 `@angular/localize`上面写着要跑 `add-i18n` 而不是角质的 `ng add @angular/localize`它只设置了Angular自己的建造者.

## lynx.config.ts (英语)

应用不需要 没有它, `ng build` 财务报告和审定财务报表 `ng serve` 取自 angular.json 的 rspey 需要, 默认的 AngularLynx app 想要:

-   `source.entry` 是建造目标 `browser` 选项;
-   环境是 `lynx` 和 `web` (浏览器预览);
-   `ng serve` 在全屏中添加QR代码插件.

添加一个 lynx.config.ts 来更改其中的任何一个或设置其它任何 rospyy 支持;每个默认只应用到它没有设置自己的地方. 建造者们加 [`@blotch/rsbuild-plugin-angular-lynx`](https://npmcn.com/package/%40blotch/rsbuild-plugin-angular-lynx),它编译了Angular, 无论是哪种方式。 自己列出插件只通过选项 。 导入它 `defineConfig` 从这个包中,这取决于两个:

```ts
import { defineConfig, pluginAngularLynx } from '@blotch/angular-lynx-build';

export default defineConfig({
  plugins: [pluginAngularLynx({ enableSSR: true })],
});
```

对于捆绑者处理的种类(资产和CSS模块进口), `import.meta.env`),从这里也参考它们,例如: `ng add` 显示在 `src/rspeedy-env.d.ts`数字 :

```ts
/// <reference types="@blotch/angular-lynx-build/client" />
```

## 如何组合

这个包是角CLI层. 作品发生于其依赖性:

-   **[`@blotch/rsbuild-plugin-angular-lynx`](https://npmcn.com/package/%40blotch/rsbuild-plugin-angular-lynx)** 正在编译 Angular 内部快取. 它还独立运作,为直接运行的快速项目服务.
-   **[`@blotch/angular-lynx-native`](https://npmcn.com/package/%40blotch/native)** 将Lynx捆绑变为iOS和Android应用程序.
-   **[转速](https://lynxjs.org/rspeedy/)** 及其 QR 代码插件。 构建者总是运行他们发布和测试的版本,因此一个应用程序不会安装.

`ng test` 财务报告和审定财务报表 `ng extract-i18n` 运行 Angular 的自建工程 `@angular/build`,哪个 `ng new` 安装:它必须匹配工程的Angular版本.

## 常见问题

### @blotch/angular-lynx-build 是什么？

用于AngularLynx的Angular CLI构建者:为Lynx的ng构建,ng服务和ng测试,以及本地iOS和Android应用

### 如何安装 @blotch/angular-lynx-build？

在项目目录运行 npm install @blotch/angular-lynx-build，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@angular/build（^22\.2\.0）、@angular-devkit/architect（\>=0\.2200\.0 \<0\.2300\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @blotch/angular-lynx-build 支持 TypeScript 吗？

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

### @blotch/angular-lynx-build 支持 ESM 还是 CommonJS？

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

### @blotch/angular-lynx-build 需要什么版本的 Node\.js？

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

### @blotch/angular-lynx-build 可以商用吗？

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

### @blotch/angular-lynx-build 的下载量有多少？

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

### @blotch/angular-lynx-build 还在维护吗？

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

