开发相互依赖的 npm 包的最佳工作流程
Posted
技术标签:
【中文标题】开发相互依赖的 npm 包的最佳工作流程【英文标题】:Best workflow for developing npm packages that depend on each other 【发布时间】:2016-12-13 22:26:57 【问题描述】:目前我们正在开发两个基于 React 的应用程序,例如 app-a
和 app-b
,它们有两个我们也管理的依赖项。一个包含共享组件的shared-components
包和一个包含app-a
和app-b
之间共享实用程序的shared-utilities
包。这两个都有自己的完整的package.json,并包含在app-a
和app-b
的package.json中。
依赖关系:
app-a
|- shared-components
|- shared-utilities
和
app-b
|- shared-components
|- shared-utilities
每次我们在 shared-components
中开发我们想要在 app-a
中使用的东西时,我们必须执行太多步骤:
-
在
shared-components
中创建<AwesomeComponent />
在shared-components
中构建文件。
提交/推送到 GitHub。
package.json 中从app-a
指向特定分支的依赖关系。
运行npm install
。
使用<AwesomeComponent />
。
如果我们在开发中犯了错误,我们需要从步骤 1 重新开始。当然我们可以通过将构建文件直接复制到 node_modules
文件夹来跳过提交/推送和 npm install
,但仍然是这样每次我们构建组件时都很麻烦。
你们使用什么工作流程或任何提示/建议来加快本地开发?
注意;我们使用 webpack 来打包我们的文件并使用 babel 进行编译。
【问题讨论】:
【参考方案1】:你想要的可能是npm link。
只需在shared-components
中使用sudo npm link
进行设置。这会在全局 npm 目录中创建符号链接(因此,如果您以 root 身份安装它,则需要提升权限)。
接下来您需要做的就是进入app-a
并运行npm link shared-components
,它将用符号链接替换node_modules
中的文件夹。
【讨论】:
谢谢你!这正是我正在寻找的 :-) 遇到了一些权限错误,但我会解决这些问题。以上是关于开发相互依赖的 npm 包的最佳工作流程的主要内容,如果未能解决你的问题,请参考以下文章