目前我们正在开发两个基于 React 的应用程序,比如说 app-a
和 app-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
中我们必须执行太多步骤:
- 制作
<AwesomeComponent />
在shared-components
- 在
shared-components
中构建文件. - 提交/推送到 GitHub。
- 来自
app-a
的 package.json 中的点依赖到特定的分支机构。 - 运行
npm install
. - 使用
<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/