@carbonorm/barrelsby

中文文档
1.0.0发布于 2024/03/06MITCommonJS近 30 天下载 3426

自动为您的整个代码基础打入脚本桶

中文使用文档
文档目录24 节
  1. 关于弹匣
  2. 更多阅读
  3. 巴列斯比文章
  4. 替代品
  5. 使用量
  6. 配置选项
  7. -c [path] 或者说 --config [path]
  8. -d [path...] 或者说 --directory [path...]
  9. -D 或者说 --delete
  10. -e [regex...] 或者说 --exclude [regex...]
  11. -E 或者说 --exportDefault
  12. -h 或者说 --help
  13. -i [regex...] 或者说 --include [regex...]
  14. -l [mode] 或者说 --location [mode]
  15. -L 或者说 --local
  16. -n [name] 或者说 --name [name]
  17. -s [mode] 或者说 --structure [mode]
  18. -q 或者说 --singleQuotes
  19. -S 或者说 --noSemicolon
  20. -H 或者说 --noHeader
  21. -v 或者说 --version
  22. -V 或者说 --verbose
  23. 所需资源
  24. 捐款

Barrelsby Logo

自动为您的整个代码基础创建类型脚本桶 .

npm version Node.js CI CodeQL

关于弹匣

桶是将多个模块导出到单个方便模块的文件 通常名称 index.ts。它们往往有助于简化顶端的大块进口报表 ,帮助组合相关功能.

一个桶文件看起来像这样:

export * from "./DropDown";
export * from "./TextBox";
export * from "./CheckBox";
export * from "./DateTimePicker";
export * from "./Slider";

它可以帮助你从混乱的进口 像这样:

import {DropDown} from "./src/controls/DropDown";
import {TextBox} from "./src/controls/TextBox";
import {CheckBox} from "./src/controls/CheckBox";
import {DateTimePicker} from "./src/controls/DateTimePicker";
import {Slider} from "./src/controls/Slider";

...像这样的东西:

import {DropDown, TextBox, CheckBox, DateTimePicker, Slider} from "./src/controls";

...甚至这个:

import * as Controls from "./src/controls/index";

更多阅读

巴列斯比文章

替代品

使用量

要安装 Barrelsby :

npm install --save-dev barrelsby

运行桶比先在 package.json 文件 :

{
  "scripts": {
    "generate-barrels": "barrelsby --delete"
  }
}

您现在可以生成桶 :

npm run generate-barrels

配置选项

Barrelsby 接受一些选项来帮助完善您的桶是如何创建的. 这些选项 可以从命令行中配置,也可以使用配置文件.

-c [path] 或者说 --config [path]

指定桶比配置文件的位置。 此文件必须是 .json 文档。 你个 可使用其长名包含任何配置选项.

-d [path...] 或者说 --directory [path...]

指定创建桶的根目录。 使用当前目录 默认.

说明:这是与以前版本相容的倒行本. 现有配置文件将 解析正确。 接下来的两个json文件将行为一致.

{
  "directory": "./src"
}

{
  "directory": ["./src"]
}

-D 或者说 --delete

删除桶体遇到的任何现有桶。 默认禁用 .

-e [regex...] 或者说 --exclude [regex...]

不包括路径与指定正则表达式相匹配的任何文件.

-E 或者说 --exportDefault

同时导出文件的默认导出 。 目前只与 flat 模式.

export * from "./barrel";
export * from "./barrel";
export { default as barrel } from "./barrel";

-h 或者说 --help

显示有助于提供桶比接受的命令行参数的信息.

-i [regex...] 或者说 --include [regex...]

只包含路径与指定正则表达式相匹配的文件 .

-l [mode] 或者说 --location [mode]

Bulby 用于确定创建桶的目录位置的模式 . 默认 顶端。 。 。 .

  • top 只在目标目录中创建一桶.
  • below 在目标目录以下的每个目录中创建一桶.
  • all 在下面的每个目录(并包括)中创建一桶.
  • replace 只创建目录中已有的桶 .
  • branch 在每个目录中创建一个包含其他目录的桶.

-L 或者说 --local

启用此选项可防止包含同一目录中存在的模块的桶, 相反 而不是连续搜索子目录.

-n [name] 或者说 --name [name]

指定用于创建新桶(并识别旧桶)的名称. .ts 永远 如未列入,则附上。 桶名将默认为 index.ts。 。 。 .

-s [mode] 或者说 --structure [mode]

桶体内部应形成的结构。 默认 平顶。 。 。 .

flat

没有任何巢穴的出口模块.

export * from "./barrel";
export * from "./index";
export * from "./directory2/script";
export * from "./directory2/directory4/deeplyNested";
export * from "./directory3/program";

filesystem

导出模块作为匹配文件系统目录的嵌入式结构.

import * as barrelts from "./barrel";
import * as directory2directory4deeplyNestedts from "./directory2/directory4/deeplyNested";
import * as directory2scriptts from "./directory2/script";
import * as directory3programts from "./directory3/program";
import * as indexts from "./index";
export {barrelts as barrel};
export const directory2 = {
  directory4: {
    deeplyNested: directory2directory4deeplyNestedts,
  },
  script: directory2scriptts,
};
export const directory3 = {
  program: directory3programts,
};
export {indexts as index};

-q 或者说 --singleQuotes

在生成的枪管文件中使用"单引号"来代替默认的"双引号".

-S 或者说 --noSemicolon

在生成的枪管文件中从行尾的 Omit 分号.

-H 或者说 --noHeader

Omit在枪管文件上方添加了页眉注释.

-v 或者说 --version

显示桶的版本号 .

-V 或者说 --verbose

显示额外的调试信息 .

所需资源

对ES6语法要求节点v6.0.0或更高.

捐款

见捐款(md)

版本与发布记录

@carbonorm/barrelsby 共发布 2 个版本,首次发布于 2024/03/06;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.0.0latest2024/03/062 年前
0.0.32024/03/062 年前

关于 @carbonorm/barrelsby 的常见问题

@carbonorm/barrelsby 是什么?

自动为您的整个代码基础打入脚本桶

如何安装 @carbonorm/barrelsby?

在项目目录运行 npm install @carbonorm/barrelsby,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 barrelsby,可以用 npx barrelsby 直接运行。

@carbonorm/barrelsby 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/carbonorm__barrelsby 是否存在。

@carbonorm/barrelsby 支持 ESM 还是 CommonJS?

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

@carbonorm/barrelsby 需要什么版本的 Node.js?

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

@carbonorm/barrelsby 可以商用吗?

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

@carbonorm/barrelsby 的下载量有多少?

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

@carbonorm/barrelsby 还在维护吗?

最新版本 1.0.0 发布于 2024/03/06(2 年前);至今共发布 2 个版本,其中过去 12 个月发布了 0 个;首次发布于 2024/03/06。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。