# @bb-cli/base 中文文档

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

版本：2\.7\.0
npm 元数据更新时间：2022-07-20T12:47:37.771Z
中文译文更新时间：2026-11-07T19:35:21.380Z
软件包许可：SEE LICENSE IN LICENSE

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

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

弃用说明：Package no longer supported\. Contact Support at https://www\.npmjs\.com/support for more info\.

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

- 包体积（解压后）：53.6 kB，28 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：11 个
- 首次发布：2016-09-13T15:32:08.559Z
- 最新版本发布：2020-01-03T14:28:48.213Z
- 近 30 天下载量：2939（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：27（近 12 个月 0 个）

## 中文简介

可插接的共用设施和接口解析器

## 安装

```sh
npm install @bb-cli/base
```

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

## README

## 模块

[语气](https://npmcn.com/package/%40bb-cli/base/#readme-module_cli) 数字 : `object`

基于 [指挥官](https://github.com/tj/commander.js/) 加上一些添加和覆盖.

[错误](https://npmcn.com/package/%40bb-cli/base/#readme-module_error) 数字 : `object`

创建命令错误对象的新实例, 确保从错误类中正确延伸.

[日志](https://npmcn.com/package/%40bb-cli/base/#readme-module_log) 数字 : `object`

基于默认的共享日志系统 [npmlog 数据](https://github.com/npm/npmlog) 系统.

[嘘](https://npmcn.com/package/%40bb-cli/base/#readme-module_sh) 数字 : `object`

可移植( Windows/Linux/OS X) Unix shell 命令的执行 基于 [贝壳js](https://github.com/shelljs/shelljs)

[欧](https://npmcn.com/package/%40bb-cli/base/#readme-module_ui) 数字 : `object`

终端用户界面(Prompting / Styles / Spinners / 进步)

[倾斜](https://npmcn.com/package/%40bb-cli/base/#readme-module_utils) 数字 : `object`

一套公用事业.

## 职能

[文件Exists( 文件)](https://npmcn.com/package/%40bb-cli/base/#readme-fileExists) ⇒ `boolean`

## cli: (中文(简体) ) `object`

基于 [指挥官](https://github.com/tj/commander.js/) 加上一些添加和覆盖.

**链接**数字 : [https://github.com/tj/commander.js/ 页面存档备份,存于互联网档案馆](https://github.com/tj/commander.js/)  
**示例**  
创建带有3个子命令的主命令 :

```javascript
import { cli } from '@bb-cli/base';

cli.version('0.0.1')
  .command('install [...packages]', 'install one or more packages')
  .command('search [query]', 'search with optional query')
  .command('list', 'list packages installed', {isDefault: true})
  .parse(process.argv);
```

创建 `install` 子命令 :

```javascript
import { cli } from '@bb-cli/base';

cli
  .description('Install package from registry')
  .arguments('[...packages]', 'install one or more packages')
  .option('-f, --force [force]', 'force installation ', false)
  .option('-r, --registry [registry]', 'registry host ')
  .alias('i')
  .man( path.resolve(__dirname, '../../man/install.md'))
  .parse(process.argv);

let packages = cli.args; // get the packages as variadic arguments
let force = cli.force  // get the force option
```

## 错误 : `object`

创建命令错误对象的新实例, 确保从错误类中正确延伸.

**示例**  
设置日志头 :

```javascript
import { error } from '@bb-cli/base';

const out = sh.exec('ls', { silent: true });
if (out.code !== 0) {
  throw error({
    type: 'Shell.Exec',
    code: out.code,
    message: out.stderr.trim(),
  });
}
```

## 日志 : `object`

基于默认的共享日志系统 [npmlog 数据](https://github.com/npm/npmlog) 系统.

**链接**数字 : [https://github.com/npm/npmlog (英语)](https://github.com/npm/npmlog)  
**示例**  
设置日志头 :

```javascript
import { log } from '@bb-cli/base';
import { name as packageName } from './package.json';
log.heading = `[${packageName}]`;
```

基本命令 :

```javascript
log.silly(prefix, message, ...)
log.verbose(prefix, message, ...)
log.info(prefix, message, ...)
log.http(prefix, message, ...)
log.warn(prefix, message, ...)
log.error(prefix, message, ...)
```

建立全球域 LOG LEVEL:

```bash
LOG_LEVEL=verbose bb-my-command
```

## 嘘: `object`

可移植( Windows/Linux/OS X) Unix shell 命令的执行 基于 [贝壳js](https://github.com/shelljs/shelljs)

**链接**数字 : [https://github.com/shelljs/shelljs (英语)](https://github.com/shelljs/shelljs)  
**示例**  
基本示例

```javascript
import { sh } from '@bb-cli/base';
sh.ls(`./`)
// or
sh.exec(`ls ./`, function(exitCode, stdOut, stdErr) {
    log.verbose('cmd exitcode:', exitCode);
    log.verbose('cmd output:', stdOut);
    log.verbose('cmd stderr:', stdErr);
});
```

## ui: `object`

终端用户界面(Prompting / Styles / Spinners / 进步)

-   [欧](https://npmcn.com/package/%40bb-cli/base/#readme-module_ui) 数字 : `object`
    -   [即时](https://npmcn.com/package/%40bb-cli/base/#readme-module_ui.prompt) ⇒ `Promise`
    -   [颜色](https://npmcn.com/package/%40bb-cli/base/#readme-module_ui.colors) 数字 : `object`
        -   [默认主题](https://npmcn.com/package/%40bb-cli/base/#readme-module_ui.colors.defaultTheme) 数字 : `enum`

### {\\fn黑体\\fs22\\bord1\\shad0\\3ahbe\\4ah00\\fscx67\\fscy66\\2chffffff\\3ch808080}我马上来 `Promise`

创建自控 [询问者](https://github.com/sboudrias/Inquirer.js) 模块通过 `inquirer.createPromptModule` 方法.

**仁爱**: 静态常数 `[ui](https://npmcn.com/package/%40bb-cli/base/#readme-module_ui)`  
**访问 :** 公开  
**链接**数字 : [https://github.com/sboudrias/Inquirer.js (英语)](https://github.com/sboudrias/Inquirer.js)

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| 问 题 | `array` | `object` | 一组询问者的问题 |

**示例**  
基本实例:

```javascript
import { ui } from '@bb-cli/base';
const questions = [{
  type: 'input',
  name: 'name',
  message: 'Who are you?',
  default: 'Guest',
  validate: value => true,
  filter: value => value,
}];

ui.prompt(questions).then( answers => {
    // do something with the answers here.
})
```

### 颜色 : `object`

基于颜色样式的控制台 [颜色](https://github.com/Marak/colors.js)

**仁爱**: 静态常数 `[ui](https://npmcn.com/package/%40bb-cli/base/#readme-module_ui)`  
**访问 :** 公开  
**链接**数字 : [https://github.com/Marak/colors.js (英语)](https://github.com/Marak/colors.js)  
**示例**  
基本实例:

```javascript
import { ui } from '@bb-cli/base';
let logInfo = ui.colors.info('Some info style output');
log.verbose(`Show ${logInfo}`);
```

自定义标题样式 :

```javascript
let logHead = ui.colors.heading('Some bold white heading');
log.info(logHead);
```

#### 颜色。 默认主题 : `enum`

颜色默认样式

**仁爱**静态圆柱形 `[colors](https://npmcn.com/package/%40bb-cli/base/#readme-module_ui.colors)`  
**属性**

| 名称 | 类型 | 默认 |
| --- | --- | --- |
| 蠢货 | `object` | `rainbow` |
| 投入 | `object` | `grey` |
| 动词 | `object` | `cyan` |
| 提示 | `object` | `grey` |
| 资讯 | `object` | `["green","underline"]` |
| 数据 | `object` | `grey` |
| 帮助 | `object` | `cyan` |
| 警告( e) | `object` | `yellow` |
| 调试 | `object` | `blue` |
| 错误 | `object` | `red` |
| 标题 | `object` | `["white","bold"]` |

## 无效 : `object`

一套公用事业.

-   [倾斜](https://npmcn.com/package/%40bb-cli/base/#readme-module_utils) 数字 : `object`
    -   [.md2html (mdStr) (中文(简体) )](https://npmcn.com/package/%40bb-cli/base/#readme-module_utils.md2html) ⇒ `string`
    -   [md2 学期( mdStr)](https://npmcn.com/package/%40bb-cli/base/#readme-module_utils.md2term) ⇒ `string`

### utils.md2html (mdStr) `string`

将下标记转换为 html 输出

**仁爱**:静态方法 `[utils](https://npmcn.com/package/%40bb-cli/base/#readme-module_utils)`  
**回返**数字 : `string` - html 字符串

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| mdStr 数据 | `string` | 标记下的内容字符串 |

**示例**  
基本示例

```javascript
const htmlStr = utils.md2html(fs.readFileSync('some-markdown-file.md', 'utf8').toString());
```

### utils.md2term(mdStr) `string`

**仁爱**:静态方法 `[utils](https://npmcn.com/package/%40bb-cli/base/#readme-module_utils)`  
**待办**

-   [ ] 让它用颜色代替安西风格

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| mdStr 数据 | `string` | 标记下的内容字符串 |

**示例**  
基本示例

```javascript
const termMdOut = utils.md2term(fs.readFileSync('some-markdown-file.md', 'utf8').toString());
```

## 文件Exists( 文件) {} `boolean`

**仁爱**:全球职能

| 参数 | 类型 |
| --- | --- |
| 文件 | `string` |

## 常见问题

### @bb-cli/base 是什么？

可插接的共用设施和接口解析器注意：该包已被作者标记为弃用——Package no longer supported\. Contact Support at https://www\.npmjs\.com/support for more info\.

### 如何安装 @bb-cli/base？

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

### @bb-cli/base 支持 TypeScript 吗？

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

### @bb-cli/base 支持 ESM 还是 CommonJS？

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

### @bb-cli/base 可以商用吗？

@bb-cli/base 使用 SEE LICENSE IN LICENSE 许可。许可条款写在包内的独立文件中，请阅读该文件确认可否商用。以上为概括，不构成法律意见，请以许可原文为准。

### @bb-cli/base 的下载量有多少？

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

### @bb-cli/base 还在维护吗？

最新版本 2\.7\.0 发布于 2020/01/03（6 年前）；至今共发布 27 个版本，其中过去 12 个月发布了 0 个；首次发布于 2016/09/13。作者已将其标记为弃用，新项目建议寻找替代方案。

