【发布时间】: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_modules 和yarn add gumby 中删除符号链接副本,但是如果我想返回并再次在本地处理它怎么办?然后再次针对 npm 版本运行它?然后再做一些工作?然后……
我想你明白了。没有明显的方法可以在您正在处理的包的 npm 副本和本地副本之间切换。还有一个额外的问题是如何做到这一点而不会过多地弄乱你的package.json,例如如果我不小心用一些奇怪的file:// 依赖路径提交了版本控制怎么办。任何建议将不胜感激。
【问题讨论】: