为了管理我的多个react
组件,我决定使用bit。然后我添加一个组件loginForm
,它是一个具有这种结构的目录:
├── loginForm
│ ├── loginForm.scss
│ └── loginForm.tsx
我为此使用 cli 命令add
:
bit add ./loginForm/*
但我得到了这个我不太明白的错误:
无法添加 2 个具有相同 ID 的组件:login-form/login-form
作为某人的一个想法?
为了管理我的多个react
组件,我决定使用bit。然后我添加一个组件loginForm
,它是一个具有这种结构的目录:
├── loginForm
│ ├── loginForm.scss
│ └── loginForm.tsx
我为此使用 cli 命令add
:
bit add ./loginForm/*
但我得到了这个我不太明白的错误:
无法添加 2 个具有相同 ID 的组件:login-form/login-form
作为某人的一个想法?
对我来说唯一可能的解决方案是更改一个文件名,例如
├─loginForm
│ │ loginForm.tsx
│ │ loginForm.style.scss
Bit 使用 glob 模式来“查找”文件并创建一组不同的add
命令,每个命令对应一组文件。因此,在这种情况下,在*
包含两个文件的文件夹中使用通配符 ( ) 会将 2 个文件返回给bit add
命令进行迭代。
即问题中的语法是要运行的“代码段”:
$ bit add loginForm/loginForm.tsx
$ bit add loginForm/loginForm.scss
使用这两个命令,Bit 的默认行为是获取要跟踪的文件名,并将其用作组件名称。所以这两种情况都是login-form
. Bit 不允许有两个具有相同 ID 的组件。
要让 Bit 将整个文件夹作为一个组件进行跟踪,您可以省略通配符并运行:
$ bit add ./loginForm
这样,您告诉 Bit 将整个目录作为单个组件进行跟踪,而不是将每个单独的文件作为一个组件进行跟踪。
--id
也可以使用该选项将 glob 模式的结果分组到单个组件中。这告诉 Bit 获取在 glob 模式中找到的所有文件,而不是运行“许多” bit add
(针对每个文件/目录),而是运行具有设置组件 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
两个文件夹进行跟踪。