npm依赖项是否需要来自其父包的模块

时间:2016-01-17 06:36:36

标签: node.js npm require

我正在构建一个服务器应用程序作为"核心"框架和(可能)多个专业化,从" spec_a"。

开始

我想"核心"成为一个npm包," spec_a"成为一个npm包,需要"核心"。

虽然我可以要求spec_a的模块并将它们传递给函数调用中的核心,但我更喜欢核心来读取配置文件,并尝试从中获取模块(在配置文件中指定)'的父包。 (核心不应该知道其父包的名称,因为它将与每个专业化不同。)

我正在寻找的是require_from_parent(module_name_from_config)电话。

有没有办法制作这样的东西?

我正在考虑使用require('../'+module_name_from_config),但这很脆弱,可能会在最近的npm打破。

2 个答案:

答案 0 :(得分:3)

没有明确的“requireFromParent”调用。无论何时调用require,它都会首先查看自己的node_modules文件夹,如果找不到该模块,它将遍历目录树并检查其父项是否具有该模块,该模块应该适用于您的目的。 / p>

答案 1 :(得分:2)

我想我在a nodebb blog上找到了答案。

var Topics = module.parent.require('./topics'),
    User = module.parent.require('./user'),
    Notifications = module.parent.require('./notifications');
相关问题