Bit.dev 无法添加 2 个具有相同 ID 的组件

Bit.dev unable to add 2 components with the same ID

为了管理我的多个 react 组件,我决定使用 bit。然后我添加一个组件 loginForm,它是一个具有以下结构的目录:

├── loginForm
│   ├── loginForm.scss
│   └── loginForm.tsx

我为此使用了 cli 命令 add:

bit add ./loginForm/*

但是我得到了这个我不太明白的错误:

unable to add 2 components with the same ID: login-form/login-form

作为某人的想法?

对我来说唯一可能的解决方案似乎是更改一个文件名,例如

├─loginForm
│  │  loginForm.tsx
│  │  loginForm.style.scss

Bit 使用 glob 模式来“查找”文件并创建一个 set distinct add 命令,每个命令对应一组文件。所以在这种情况下,在包含两个文件的文件夹中使用通配符 (*),返回 2 个文件给 bit add 命令进行迭代。

即问题中的语法是 运行:

的“片段”
$ bit add loginForm/loginForm.tsx
$ bit add loginForm/loginForm.scss

对于这两个命令,Bit 的默认行为是获取要跟踪的文件名,并将其用作组件名。所以这两种情况都是 login-form。位不允许有两个具有相同 ID 的组件。

要让 Bit 将整个文件夹作为一个组件进行跟踪,您可以省略通配符和 运行:

$ bit add ./loginForm

这样您就可以告诉 Bit 将整个目录作为一个组件进行跟踪,而不是将每个单独的文件作为一个组件进行跟踪。

也可以使用 --id 选项将 glob 模式的结果分组为单个组件。这告诉 Bit 获取在 glob 模式中找到的所有文件,而不是 运行 宁“很多”bit add(对于每个 file/directory),它 运行 是一个带有设置组件 ID。例如:

$ bit add ./loginForm/* --id login-form

通过这种方式,它告诉 Bit 添加 ./loginForm 目录中的所有文件,以供单个组件实例跟踪。使用 --id 选项,您还可以将文件添加到该组件,即使它已被跟踪,因为它告诉 Bit 将 add 文件添加到提到的组件 ID。

如果您有多个包含文件的文件夹并且您希​​望每个文件夹都是一个组件并使用单个命令,那么您可以使用 glob 模式。

├── LoginForm
│   ├── LoginForm.scss
│   └── LoginForm.tsx
└── LogoutForm
    ├── LogoutForm.scss
    └── LogoutForm.tsx

你可以运行:

$ bit add ./*

要使用 glob 模式,请bit add 要跟踪的两个文件夹。