自动为您的整个代码基础创建类型脚本桶 .
关于弹匣
桶是将多个模块导出到单个方便模块的文件
通常名称 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)
