# @bluelovers/extend-bases 中文文档

规范地址：https://npmcn.com/package/%40bluelovers/extend-bases/

版本：2\.0\.2
npm 元数据更新时间：2022-08-30T22:18:50.191Z
中文译文更新时间：2026-11-08T08:39:01.489Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40bluelovers/extend-bases
原文对照：https://npmcn.com/package/%40bluelovers/extend-bases/?lang=original
项目主页：https://github.com/bluelovers/extend-bases#readme
源码仓库：https://github.com/bluelovers/extend-bases

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

- 包体积（解压后）：138 kB，17 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：3 个
- 首次发布：2021-08-15T18:30:02.934Z
- 最新版本发布：2022-08-30T22:18:50.122Z
- 近 30 天下载量：3413（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：3（近 12 个月 0 个）

## 中文简介

在 JavaScript 中为多重继承提供简单的库.

## 安装

```sh
npm install @bluelovers/extend-bases
```

也可以使用：`pnpm add @bluelovers/extend-bases`、`yarn add @bluelovers/extend-bases`、`bun add @bluelovers/extend-bases`

## README

# 扩展基:JavaScript中多个继承的简单库.

这个库可用于实现JavaScript的多层继承,但由于它隔离了基础类,防止了属性和方法相撞而将自己与其他库分开来进行多层继承,同时仍然允许容易地取用基础类的属性和方法.

## 安装

简单运行 :

```
npm add extend-bases
```

或者说:

```
yarn add extend-bases
```

要导入 :

```typescript
import {bases, defineProperties, isInstanceOf} from "extend-bases";
```

或者说:

```typescript
const {bases, defineProperties, isInstanceOf} = require("extend-bases");
```

## 开始

从多个碱基继承 `bases(Class1, Class2, ...)`在构造器中通过 **_实例_** 分类至 `super` 建筑师.

然后直接从 `this.`,具有该财产或方法的一等优先.

访问特定的基础用途 `this.bases[index]`。 。 。 .

替换所有实例 `v instanceof Class` 与 `isInstanceOf(v, Class)`如此简单.

## 详情

-   读取 [手工手册](https://github.com/aryan-programmer/extend-bases/wiki/Handy-Manual),它非常简单,并提供了足够的信息开始.
-   然后读一下 [文档](https://github.com/aryan-programmer/extend-bases/wiki/Documentation)并非太大.
-   然后,如果你有足够的时间或感兴趣的话,阅读项目的测试和源代码.

## 执行详情

这个图书馆使用 Proxies , 可惜没有 IE11 支持, 但否则这个图书馆也会导入 es-shims 用于 `Reflect.ownKeys`(ES6,但经常使用,而且有一个s-shim存在)和 `Array.prototype.flatMap`(ES2019,非常新),对于一些浏览器来说,它们被认为是瓶颈.

这个库在类例中使用代理来方便访问,它合并了基类的原型,但是对于基类的隔离,它创造了一个新的功能来包装方法调用. 最好看看源代码.

## 类型脚本支持

库默认是用 TypeScript 写成的, 如果不是的话, 你们都应该用它来完成伟大的代码 。 TypeScript定义的细节有点模糊,所以最好不要担心它们,它们很有效或者你可以只看源代码。 。 。 .

## 捐款

随意打开拉出请求,修复bugs,或读取源代码. 由你决定.

## 常见问题

### @bluelovers/extend-bases 是什么？

在 JavaScript 中为多重继承提供简单的库\.

### 如何安装 @bluelovers/extend-bases？

在项目目录运行 npm install @bluelovers/extend-bases，或使用 pnpm add / yarn add / bun add。

### @bluelovers/extend-bases 支持 TypeScript 吗？

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

### @bluelovers/extend-bases 支持 ESM 还是 CommonJS？

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

### @bluelovers/extend-bases 可以商用吗？

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

### @bluelovers/extend-bases 的下载量有多少？

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

### @bluelovers/extend-bases 还在维护吗？

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

