节点应用和多个节点模块同时开发,使用npm-link

我正在构build一个node.js应用程序,并同时开发应用程序所需的模块。 一些模块有peerDependencies,我正在努力弄清楚如何最好地构build我的开发环境。

我到目前为止:

/node-projects |--/myApp |----/node_modules |------/symlink to module1 |------/symlink to module2 | |--/module1 | |--/module2 

我使用npm link在我的应用程序的node_modules中创build符号npm link到我的项目根目录中的模块。 这让我可以轻松地推/拉个人模块以及我的应用程序。

但是,如果module2将module1指定为peerDependency,则我的应用程序将无法启动,从而导致module2找不到module1的错误。 我认为这是因为它们实际上并不在一个node_modules目录中。

是否有一个我错过了这个谜题将允许module2的符号链接识别module1的符号链接? 或者是我正试图完成目前不能与npm? 有没有更好的策略,让我的自定义模块与git / github同步,同时也要求我的主应用程序中?

在做了一些更多的研究之后,似乎我正试图完成的工作目前不可能只使用npm link ,并且似乎没有一个简单的答案来使用npm设置这种工作stream。

通过阅读关于npm的github回购这个问题 ,我可以看到,其他人正在经历同样的挫折,没有可能的解决scheme。

我也遇到了模块npm-workspace ,似乎完全提供了我的问题的解决scheme,但我还没有尝试。

另一种可能性是使用Git子模块 。 然而,在阅读有关git子模块的文章时,我发现很多抱怨说他们很难正确设置,而且看起来很容易意外地将你的子模块包含在你的主git仓库中。

我将等待接受我自己的答案,直到我有机会testingnpm-workspace,同时也许有人会用更好的解决scheme作为参考。