尝试使用 styled-components
开发 React 组件库时,我遇到了以下问题.
为了本示例的目的,假设我们有两个存储库,app
和 core
那core
将被 app
消耗.
目前,core
用 TypeScript 编写并使用 tsc
构建.
为了快速迭代,我尝试使用 yarn link
链接core
进入app
.
这很适合制作 app
查找 core
...我面临的问题是当 core
的编译 TypeScript 代码时试图要求一个包裹,比如说 styled-components
, 它试图在 node_modules
中找到这个包的 core
(不是 app
)。因为我有 styled-components
作为 peerDependency 和 devDependency,它能够在 core
中找到它的 node_modules
,但这不是我想要发生的。我希望它使用 styled-components
的 app
.
yarn link
的一种替代方法我尝试过添加 core
的依赖项至 app
通过file:/path
.这似乎按预期工作,但引入了新问题。我怎样才能在 package.json
中找到我的开发机器的路径?仅用于本地开发(无需不断来回切换)?此外,似乎在 core
中进行了任何更新要求从 app
中删除包,并在重新添加之前清除 yarn 的缓存。
有没有更简单的方法可以让这个场景发挥作用?我刚刚开始将 Rollup 或 Webpack 视为解决方案,但不确定这是否是正确的方向。
最佳答案
这不是 yarn link 的解决方案。
但对于使用 yarn
和 npm
只需使用 yalc
来管理您的本地包,而不是 yarn link
或 yarn add link:...
关于typescript - 使用 yarn 链接使用具有 peerDependencies 的本地 npm 包时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54991787/