纱线工作区和纱线链接

Posted

技术标签:

【中文标题】纱线工作区和纱线链接【英文标题】:Yarn workspaces and yarn link 【发布时间】:2018-07-18 19:06:22 【问题描述】:

我有一个这样的工作区项目:

/project
  - package.json
    /packages
       /project-a
          package.json
       /project-b
          package.json

project-b 依赖于project-a。 工作区内部一切正常。现在我想在另一个(新)npm 项目中使用project-b。通常yarn link 会起作用,但由于对project-a 的依赖,这将不起作用。有正确的方法吗?

我已经尝试过yalcpublising to npm,它们都可以工作,但我想知道是否有我不知道的替代 lerna/yarn/npm 解决方案。

【问题讨论】:

对于答案,我想看看 yarn 2 的 yarn link 示例,关于 yarn 应该如何在不使用外部库的情况下实现本地包读取 【参考方案1】:

我现在正在为此使用 verdaccio; https://github.com/verdaccio/verdaccio Verdaccio 允许创建本地 npm 注册表。

【讨论】:

我很好奇,你为什么选择verdaccio 而不是yalcverdaccio 似乎是一个可靠的解决方案(考虑到它被 CRA、Gatsby、Storybook、Babel 使用......)但 yalc 似乎更适合更简单的用例,即“更好的纱线链接”避免了设置本地注册表的麻烦。

以上是关于纱线工作区和纱线链接的主要内容,如果未能解决你的问题,请参考以下文章

纱线工作区和无效的挂钩调用

我如何确认我正确使用了纱线链接?

React Monorepo 纱线工作区 + 打字稿 + 绝对导入

Firebase 推送通知在纱线手表中工作,但在纱线构建中不工作

纱线工作区隔离

纱线工作区——包别名