【问题标题】:How to work on two npm packages at the same time?如何同时处理两个 npm 包?
【发布时间】:2018-02-09 00:05:18
【问题描述】:

我正在尝试编写一个 npm 包,该包将被发布并用作其他项目的框架。问题是——我无法在处理依赖的项目的同时找到一个可靠的工作流程。

我知道这看起来很简单,npm link 解决了这个问题,但这比仅仅能够从另一个本地包导入一个本地包更大。

我的框架包搭建好了;我们称它为gumby,它导出一个执行console.log('hello from gumby') 的函数。这就是现在最重要的。

现在我准备创建一个将使用gumby 的项目。让我们称之为client。我也设置了它,npm link gumby 所以client 可以从中导入,等等。好的,很酷,它按预期工作。

所以现在是发布gumby 的时候了。我运行npm publish,它作为版本 0.0.1 输出到 npm。

此时,如何将已发布的、由 npm 托管的 gumby 版本放入 package.json for client?我的意思是,我可以从我的node_modulesyarn add gumby 中删除符号链接副本,但是如果我想返回并再次在本地处理它怎么办?然后再次针对 npm 版本运行它?然后再做一些工作?然后……

我想你明白了。没有明显的方法可以在您正在处理的包的 npm 副本和本地副本之间切换。还有一个额外的问题是如何做到这一点而不会过多地弄乱你的package.json,例如如果我不小心用一些奇怪的file:// 依赖路径提交了版本控制怎么办。任何建议将不胜感激。

【问题讨论】:

    标签: node.js npm yarnpkg


    【解决方案1】:

    对于本地开发,符号链接包绝对是要走的路,不断发布/重新安装包的想法听起来很痛苦。

    真正的问题听起来更像是您担心将开发配置提交给 prod - 您可以通过像 VCS 上的预提交挂钩这样简单的东西来解决这个问题,例如如果在 package.json 中检测到任何本地文件引用,则阻止。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-10
      • 2018-05-05
      • 2018-01-25
      • 2011-05-01
      • 2016-01-05
      • 1970-01-01
      • 2018-06-07
      • 1970-01-01
      相关资源
      最近更新 更多