1

我正在创建一个带有 react、lernastorybook的 monorepo 组件库来显示我的组件。每个组件都有自己的包。这样我就可以将组件导入多个项目,而不需要整个用户界面。我面临的主要问题与符号链接包有关。

例子:

我有一个 Button 组件/包和一个 SlideoutMenu 组件都未发布。用于故事书/开发中的展示目的。我想将 Button 导入 SlideoutMenu 的故事中。这样我就可以用它来触发菜单。基本上这是一个开发依赖。它不包含在 SlideoutMenu 的构建中。

我如何链接这种类型的依赖关系?

我已经尝试使用在本地工作的 npm 链接对它们进行符号链接,但是如果我将分支推送到 github,至少目前当同事拉出显然不理想的存储库时,符号链接会丢失。不太确定如何让符号链接与 git/github 一起使用

我也尝试在 SlideoutMenu 中添加这样的依赖项package.json

devDependencies: {
  "ui-button": "^0",
}

这可以导入,但如果我更新ui-button组件的背景颜色。ui-buttonSlideoutMenu 组件中的依赖项将不会更新我lerna bootstrap在进行此更新后尝试运行,但它似乎没有更新 SlideoutMenu 中已安装的包。

我想要一些关于如何使用符号链接来管理 monorepos 依赖项和 dev 依赖项的输入,并且在从 github 中提取 repo 时可供同事使用。

4

2 回答 2

2

添加依赖项是第一步。然后你只需调用lerna bootstrap它,它就会在内部链接并安装所有外部依赖项。任何拉回回购的人都需要这样做。

于 2018-05-29T13:54:57.883 回答
1

我维护了一个非常相似的项目——一个使用 React、Lerna、Yarn Workspaces 和 Storybook 的组件库。我们必须解决你提到的同样的问题。

我已将代码发布到 GitHub - 尝试将其拉下并查看它是否适用于您的情况。

希望这可以帮助!

于 2019-03-31T18:40:26.323 回答