开发相互依赖的npm包的最佳工作流程

Best workflow for developing npm packages that depend on each other

本文关键字:最佳 工作流程 npm 开发 依赖      更新时间:2023-09-26

目前,我们正在开发两个基于React的应用程序,比如app-aapp-b,它们有两个我们也管理的依赖项。包含共享组件的shared-components包和包含app-aapp-b之间共享实用程序的shared-utilities包。这两者都有自己的完整的package.json,并包含在app-aapp-b的package.json中。

依赖项:

app-a
|- shared-components
|- shared-utilities

app-b
|- shared-components
|- shared-utilities

每次我们在shared-components中开发想要在app-a中使用的东西时,我们都必须执行太多步骤:

  1. shared-components中制作<AwesomeComponent />
  2. shared-components中构建文件
  3. 提交/推送到GitHub
  4. 将package.json中的依赖项从app-a指向特定分支
  5. 运行npm install
  6. 使用<AwesomeComponent />

如果我们在开发时犯了错误,我们需要从步骤1开始延迟。当然,我们可以通过直接将构建文件复制到node_modules文件夹来跳过提交/推送和npm install,但每次构建组件时,这都会很麻烦。

你们用什么工作流程或任何技巧/建议来加快当地的发展?

注意;我们正在使用webpack将我们的文件和babel捆绑到transfile

您想要的可能是npm链接。

简单地说,在shared-components中用sudo npm link设置它。这会在全局npm目录中创建符号链接(因此,如果以root身份安装,则需要提升权限(。

接下来,您所需要做的就是进入app-a并运行npm link shared-components,它将用符号链接替换node_modules中的文件夹。