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

标签 javascript git reactjs npm package.json

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

依赖关系:

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

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

每次我们在例如 shared-components 中开发一些东西我们想用在例如 app-a 中我们必须执行太多步骤:

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

如果我们在开发时犯了错误,我们需要从第一步重新开始。当然我们可以跳过commit/push和npm install。通过将构建文件复制到 node_modules文件夹,但是,每次我们构建组件时,这仍然是一件很麻烦的事情。

你们使用什么工作流程或任何技巧/建议来加速本地开发?

注意;我们正在使用 webpack 来捆绑我们的文件,并使用 babel 进行转译。

最佳答案

你想要的可能是npm link .

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

接下来您需要做的就是进入 app-a 并运行 npm link shared-components 这将替换 node_modules 中的文件夹> 带有符号链接(symbolic link)。

关于javascript - 开发相互依赖的 npm 包的最佳工作流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38824237/

相关文章:

javascript - 在 JavaScript 中测试两个值的相等性,其中内容包含 &

javascript - 如何将文本框的值分配给html中的另一个文本框?

git - 无法识别的作者

android - 使用 HoloEverywhere 库

javascript - 删除自动完成下拉箭头

javascript - 数组中的 For 循环读取 'remove'?

Javascript setTimeout 在 for 循环中不起作用

带有代码审查的 git rebase 流程?可能的?

javascript - 想要将一个组件路由到另一组件

javascript - React Native - 推送到数组后渲染