# @flex-development/builtin-modules 中文文档

规范地址：https://npmcn.com/package/%40flex-development/builtin-modules/

版本：2\.1\.2
npm 元数据更新时间：2024-10-31T19:34:42.601Z
中文译文更新时间：2026-11-14T22:34:17.176Z
软件包许可：BSD-3-Clause

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

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

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

- 包体积（解压后）：73 kB，15 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2023-01-29T09:27:54.618Z
- 最新版本发布：2024-10-31T19:34:42.129Z
- 近 30 天下载量：3021（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：5（近 12 个月 0 个）

## 中文简介

模块通用接地替换. 模块内建

## 安装

```sh
npm install @flex-development/builtin-modules
```

也可以使用：`pnpm add @flex-development/builtin-modules`、`yarn add @flex-development/builtin-modules`、`bun add @flex-development/builtin-modules`

## README

# 内建模块

[![github release](https://img.shields.io/github/v/release/flex-development/builtin-modules.svg?include_prereleases&sort=semver)](https://github.com/flex-development/builtin-modules/releases/latest) [![npm](https://img.shields.io/npm/v/@flex-development/builtin-modules.svg)](https://npmjs.com/package/@flex-development/builtin-modules) [![codecov](https://codecov.io/github/flex-development/builtin-modules/branch/main/graph/badge.svg?token=Rh9xvcgqdD)](https://codecov.io/github/flex-development/builtin-modules) [![module type: esm](https://img.shields.io/badge/module%20type-esm-brightgreen)](https://github.com/voxpelli/badges-cjs-esm) [![license](https://img.shields.io/github/license/flex-development/builtin-modules.svg)](https://npmcn.com/package/%40flex-development/builtin-modules/LICENSE.md) [![conventional commits](https://img.shields.io/badge/-conventional%20commits-fe5196?logo=conventional-commits&logoColor=ffffff)](https://conventionalcommits.org/) [![typescript](https://img.shields.io/badge/-typescript-3178c6?logo=typescript&logoColor=ffffff)](https://typescriptlang.org/) [![vitest](https://img.shields.io/badge/-vitest-6e9f18?style=flat&logo=vitest&logoColor=ffffff)](https://vitest.dev/) [![yarn](https://img.shields.io/badge/-yarn-2c8ebb?style=flat&logo=yarn&logoColor=ffffff)](https://yarnpkg.com/)

通用空投替换 [`module.builtinModules`](https://nodejs.org/api/module.html#modulebuiltinmodules)

## 目录

-   [这是什么?](https://npmcn.com/package/%40flex-development/builtin-modules/#readme-what-is-this)
-   [我什么时候用这个?](https://npmcn.com/package/%40flex-development/builtin-modules/#readme-when-should-i-use-this)
-   [安装](https://npmcn.com/package/%40flex-development/builtin-modules/#readme-install)
-   [使用](https://npmcn.com/package/%40flex-development/builtin-modules/#readme-use)
-   [API 密码](https://npmcn.com/package/%40flex-development/builtin-modules/#readme-api)
    -   [`builtinModules`](https://npmcn.com/package/%40flex-development/builtin-modules/#readme-builtinmodules)
-   [类型](https://npmcn.com/package/%40flex-development/builtin-modules/#readme-types)
-   [相关](https://npmcn.com/package/%40flex-development/builtin-modules/#readme-related)
-   [贡献](https://npmcn.com/package/%40flex-development/builtin-modules/#readme-contribute)

## 这是什么?

此套件是通用的 drop- in 取代 [`builtinModules`](https://nodejs.org/api/module.html#modulebuiltinmodules) 常数导出于 [`node:module`](https://nodejs.org/api/module.html)。 。 。 .

## 我什么时候用这个?

此软件包导出一个包含由 Node.js 提供的模块名称的阵列 . 它不仅可以用来验证一个模块是否由Node.js维护,还可以用来确定一个模块是否可以使用 使用 a 导入 [`node:` 網址](https://nodejs.org/api/esm.html#node-imports)。 。 。 .

## 安装

这个软件包是 [仅限无害环境管理](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c)。 。 。 .

在Node.js(第18版+)中与 [线条](https://yarnpkg.com/)数字 :

```sh
yarn add @flex-development/builtin-modules
```

> 见 [Git - 协议QQ Yarn](https://yarnpkg.com/protocol/git)  关于从Git安装的细节.

在德诺与 [`esm.sh`](https://esm.sh/)数字 :

```ts
import { builtinModules } from 'https://esm.sh/@flex-development/builtin-modules'
```

在浏览器中 [`esm.sh`](https://esm.sh/)数字 :

```html
<script type="module">
  import { builtinModules } from 'https://esm.sh/@flex-development/builtin-modules'
</script>
```

## 使用

```ts
import { builtinModules } from '@flex-development/builtin-modules'

/**
 * List of all modules provided by Node.js.
 *
 * > 👉 **Note**: Includes modules available only under the `node:` scheme (i.e.
 * > `node:sea`, `node:sqlite`, `node:test`).
 *
 * @const {string[]} builtins
 */
const builtins: string[] = [
  ...builtinModules,
  'node:sea',
  'node:test',
  'node:sqlite'
]

/**
 * Set of all modules provided by Node.js.
 *
 * > 👉 **Note**: Includes `node:` URLs.
 *
 * @const {Set<string>} BUILTIN_MODULES
 */
const BUILTIN_MODULES: Set<string> = new Set(builtins.flatMap(m => {
  return m.startsWith('node:') ? [m] : [m, 'node:' + m]
}).sort((a, b) => a.localeCompare(b)))

/**
 * Check if `m` references a [builtin module][builtin-module].
 *
 * [builtin-module]: https://nodejs.org/api/esm.html#builtin-modules
 *
 * @example
 *  isBuiltin('@flex-development/builtin-modules') // false
 * @example
 *  isBuiltin('assert') // true
 * @example
 *  isBuiltin('fs/promises') // true
 * @example
 *  isBuiltin(new URL('node:os')) // true
 * @example
 *  isBuiltin('node:module') // true
 * @example
 *  isBuiltin('node:test/reporters') // true
 * @example
 *  isBuiltin('test') // false
 *
 * @param {unknown} m
 *  The thing to check
 * @return {boolean}
 *  `true` if `m` references builtin module, `false` otherwise
 */
function isBuiltin(m: unknown): boolean {
  return BUILTIN_MODULES.has(String(m))
}

console.log(isBuiltin('@flex-development/builtin-modules'))
console.log(isBuiltin('assert'))
console.log(isBuiltin('fs/promises'))
console.log(isBuiltin('node:module'))
console.log(isBuiltin('node:test/reporters'))
console.log(isBuiltin('test'))
```

## API 密码

此软件包导出标识符 [`builtinModules`](https://npmcn.com/package/%40flex-development/builtin-modules/#readme-builtinmodules)。 。 。 .

默认导出也是 `builtinModules`。 。 。 .

### `builtinModules`

由Node.js提供的所有模块列表.

名单是 **超级集** 联 合 国 [`module.builtinModules`](https://nodejs.org/api/module.html#modulebuiltinmodules) 提供了正在运行的 Node.js 版本.

> 👉 **说明**: 仅可在 `node:` 方案(即:. `node:sea`, (中文(简体) ), `node:sqlite`, (中文(简体) ), `node:test`(没有) 列出.

## 类型

此软件包已全部输入 [类型脚本](https://www.typescriptlang.org/)。 。 。 .

## 相关

-   [`is-builtin`](https://github.com/flex-development/is-builtin) - 通用空投替换 [`module.isBuiltin`](https://nodejs.org/api/module.html#moduleisbuiltinmodulename)

## 贡献

见 [`CONTRIBUTING.md`](https://npmcn.com/package/%40flex-development/builtin-modules/CONTRIBUTING.md)。 。 。 .

这个项目有一个 [行为守则](https://npmcn.com/package/%40flex-development/builtin-modules/CODE_OF_CONDUCT.md)通过与该存储库、组织或 你同意遵守它的规定.

## 常见问题

### @flex-development/builtin-modules 是什么？

模块通用接地替换\. 模块内建

### 如何安装 @flex-development/builtin-modules？

在项目目录运行 npm install @flex-development/builtin-modules，或使用 pnpm add / yarn add / bun add。

### @flex-development/builtin-modules 支持 TypeScript 吗？

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

### @flex-development/builtin-modules 支持 ESM 还是 CommonJS？

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

### @flex-development/builtin-modules 可以商用吗？

@flex-development/builtin-modules 使用 BSD-3-Clause 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。另外不得用原作者名义为衍生产品背书。以上为概括，不构成法律意见，请以许可原文为准。

### @flex-development/builtin-modules 的下载量有多少？

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

### @flex-development/builtin-modules 还在维护吗？

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

