我有一个类似于这样的文件夹结构:
Main
|package.json
|__node_modules
|__shared
|__sh-utils
|package.json
|__sh-other
|package.json
|__project_folder_a
|__project_folder_b
project_folder_a和project_folder_b实际上有几个层次,但重点是它们都需要在Main / package.json中定义的依赖项。
Main / package.json有一些正常的注册表依赖项,但也有一个像这样定义的本地文件夹依赖项:
"sh-utils": "file:shared\\sh-utils"
这是一个未发布到任何注册表的内部依赖项。 project_folder_a和project_folder_b中的几个文件现在可以要求它:
var Utils = require('sh-utils');
但我还没有找到一种将sh-utils的更改传播到其依赖项目的好方法。到目前为止,我认为这些是我的选择:
所有这些看起来都很麻烦,特别是对于需要获取最新更改的同一存储库中的其他开发人员而言。我还计划拥有多个小模块,因此确实需要更新它们。我喜欢在那里要求依赖是多么容易,但是我想知道使用相对路径要求它是否更容易:
var Utils = require('../../../sh-utils');
我们正在运行gulp,因此可以利用这一点。