使用内部npm模块

时间:2015-05-28 03:58:15

标签: node.js npm gulp commonjs

我有一个类似于这样的文件夹结构:

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的更改传播到其依赖项目的好方法。到目前为止,我认为这些是我的选择:

  1. 手动删除Main / node_modules下的sh-utils文件夹,然后从Main
  2. 运行“npm install”
  3. 从Main
  4. 运行“npm install file:shared / sh-utils --force”
  5. 始终记得增加sh-utils的版本,然后从Main
  6. 运行“npm install”

    所有这些看起来都很麻烦,特别是对于需要获取最新更改的同一存储库中的其他开发人员而言。我还计划拥有多个小模块,因此确实需要更新它们。我喜欢在那里要求依赖是多么容易,但是我想知道使用相对路径要求它是否更容易:

    var Utils = require('../../../sh-utils');
    

    我们正在运行gulp,因此可以利用这一点。

0 个答案:

没有答案