在Maven中,如果模块A取决于模块B。在本地更改B时,可以轻松地使用mvn install(对于B)将B部署到本地存储库中,因此A可以获取更新的B,而无需从远程仓库下载。这非常有效。
但是,在NPM世界中,我找不到等效的。我的软件包A取决于B,在开发期间,我经常更改B,我绝对不想为每个更改都运行npm publish。这很慢,并且向公众发布部分完成的软件包B没有任何意义。
我知道NPM支持local dependency,但是这种方式有一些缺点:
我想为开发过程找到一种有效的方法来满足以下要求:
B,它将从指定目录下载,例如本地B的dist目录。因此,我们绝不会碰到A的package.json。
是否对此问题有任何类似的解决方案或其他更好的建议?您不必更改package.json,它不会以任何方式影响它。一次运行npm link
后,对链接的程序包所做的所有更改都会立即显示在您的程序包中。因为它只更改您的node_modules
文件夹,所以只要您不将其从dev携带到远程(无论如何也不要将其提交到版本控制中),就无需记住任何更改。
每次更改为开发人员模式后,您可能仍然必须运行npm link path/to/linked/package
,但这是一个相当轻松的命令,不会从远程获得任何信息。