# @equinor/echo-base 中文文档

规范地址：https://npmcn.com/package/%40equinor/echo-base/

版本：7\.0\.0
npm 元数据更新时间：2026-10-30T09:44:46.414Z
中文译文更新时间：2026-11-14T00:46:00.859Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40equinor/echo-base
原文对照：https://npmcn.com/package/%40equinor/echo-base/?lang=original

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

- 包体积（解压后）：88.2 kB，41 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：1 个
- 首次发布：2021-04-12T12:12:27.214Z
- 最新版本发布：2026-10-27T14:03:00.858Z
- 近 30 天下载量：2698（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：126（近 12 个月 33 个）

## 中文简介

![logo](https://raw.githubusercontent.com/equinor/EchoCore/main/doc/ee.png)

## 安装

```sh
npm install @equinor/echo-base
```

也可以使用：`pnpm add @equinor/echo-base`、`yarn add @equinor/echo-base`、`bun add @equinor/echo-base`

## README

![logo](https://raw.githubusercontent.com/equinor/EchoCore/main/doc/ee.png)

# 回声基

Echo网络需要微前端开发.

这个库是用 [无](https://nx.dev/)。 。 。 .

## 扶养规则

**真相来源: `/eslint.config.js`** - 那个 `@nx/enforce-module-boundaries` 规则定义所有允许的依赖.

**回声基是基础库,CANNOT从任何其他回声库导入.**

见 `libs/README.md` 用于完整依赖性流程图.

* * *

## 如何开发并发布 EchoCore

检查 [读取我](https://npmcn.com/libs/README.md) 在 NX 库文件夹中.

## 可用的国家预防机制脚本

-   `lint-base`
-   `build-base`
-   `test-base`

# 有什么新情况

v. 7.0 计:

-   已移动到 Monorepo
-   更新了一些 Typescription 类型 : 它们使用 Monorepo 设置导致构建错误

v. 6.0 计:

-   固定错误报告到应用程序的洞察力,它现在正确地报告包括内在ErrorsProperties在内的所有属性.
-   固定 `baseError`,它现在恰当地支持了巢内核. 例外/ 内置出错 .
-   `BaseError` 现在有错误 TraceId, 或来自后端, 或独有的前端 ID
-   `BaseError` 为获取属性或属性而添加的帮助方法ByName

建议创建您自己的错误类型, 扩展 BaseError, 用您自己的字段来装饰它 :

```TS
    export class PdfError extends BaseError {
        docNo: string;
        constructor(args: { message: string; docNo: string; innerError?: Error }) {
            super({ name: 'PdfError', message: args.message, innerError: args.innerError });
            this.docNo = args.docNo;
        }
    }
```

# 中断更改

v. 6.0 计:

-   已重命名 `initializeError` 改为 `initializeNetworkError` 并简化它。 现在只需要 `NetworkErrorArgs` 作为争论.
-   `BaseError` 现在用参数正确支持嵌入(和嵌入-消除)错误 `innerError`。 。 。 .  
    早先的同名属性会互相覆盖.  
    `exception` 参数重命名为 `innerError`类型 `Record<string, unknown> | Error`
-   `BaseError` 不再直接将属性添加到自身,而是使用带参数的嵌入错误 `innerError`。 。 。 .
-   改为 `BaseError.allProperties()["someCustomProperty"]` 使用情况 `BaseError.findPropertyByName("someCustomProperty")`。自从我们现在使用 `innerError` 类型 `Error` 或记录 < 字符串, 未知>, 该属性已从 BaseError \[财产\] 移动到 baseError. innerError \[财产\].
-   移动 `EchoEvents` 符号为 `EchoCore`。 。 。 .
-   更改类型 `EventHub` 所有函数中的事件按键来自 `string | EchoEvents` 改为 `string` 只有这个.

v.0.5.0: (中文(简体) )

-   BaseError的子分类将不再自动获得类名,而必须指定. 这是为了避免名称被混淆/忽略为appInsight中的单个字母.

实施实例:

```
export class CustomError extends BaseError {
    constructor(args: ErrorArgs) {
        super({ ...args, name: 'CustomError' });
    }
}
```

## 常见问题

### 如何安装 @equinor/echo-base？

在项目目录运行 npm install @equinor/echo-base，或使用 pnpm add / yarn add / bun add。

### @equinor/echo-base 支持 TypeScript 吗？

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

### @equinor/echo-base 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @equinor/echo-base 可以商用吗？

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

### @equinor/echo-base 的下载量有多少？

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

### @equinor/echo-base 还在维护吗？

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

