【问题标题】:Symlinking in monorepo - using lernamonorepo 中的符号链接 - 使用 lerna
【发布时间】:2018-02-23 20:24:14
【问题描述】:

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

示例:

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

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

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

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

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

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

我希望提供一些关于如何使用符号链接管理 monorepos 依赖项和开发依赖项的意见,并且在从 github 拉取 repo 时可供同事使用。

【问题讨论】:

  • 您能否详细说明您的软件包是如何构建的?你使用 babel/webpack 吗?它们需要在依赖项目看到更新之前构建。

标签: reactjs github symlink storybook lerna


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    我已将 published the code 发送到 GitHub - 尝试将其拉下并查看它是否适合您的情况。

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2020-07-30
      • 2019-10-24
      • 2021-06-16
      • 1970-01-01
      • 2019-04-21
      • 1970-01-01
      • 1970-01-01
      • 2021-01-23
      • 2020-12-17
      相关资源
      最近更新 更多