npm 依赖项是否可以从其父包中获取模块
Can a npm dependency require a module from its parent package
我正在构建一个服务器应用程序作为 "core" 框架和(可能)多个专业,从 "spec_a" 开始。
我希望 "core" 成为一个 npm 包,"spec_a" 成为一个需要 "core".
的 npm 包
虽然我可以要求 spec_a 的模块并在函数调用中将它们传递给核心,但我更喜欢核心读取配置文件并尝试从中要求模块(在配置文件中指定)它是父包。 (核心不需要知道其父包的名称,因为它与每个专业化都不同。)
我要找的是一个require_from_parent(module_name_from_config)
电话。
有没有办法制作这样的东西?
我正在考虑使用 require('../'+module_name_from_config)
,但这很脆弱,可能会在最新的 npm 上崩溃。
没有明确的 "requireFromParent" 调用。每当你调用 require
时,它首先会在它自己的 node_modules 文件夹中查找,如果没有找到该模块,它将向上遍历目录树并检查它的父级是否有该模块,这应该适用于你的目的。
我想我在 a nodebb blog 上找到了答案。
var Topics = module.parent.require('./topics'),
User = module.parent.require('./user'),
Notifications = module.parent.require('./notifications');
我正在构建一个服务器应用程序作为 "core" 框架和(可能)多个专业,从 "spec_a" 开始。
我希望 "core" 成为一个 npm 包,"spec_a" 成为一个需要 "core".
的 npm 包虽然我可以要求 spec_a 的模块并在函数调用中将它们传递给核心,但我更喜欢核心读取配置文件并尝试从中要求模块(在配置文件中指定)它是父包。 (核心不需要知道其父包的名称,因为它与每个专业化都不同。)
我要找的是一个require_from_parent(module_name_from_config)
电话。
有没有办法制作这样的东西?
我正在考虑使用 require('../'+module_name_from_config)
,但这很脆弱,可能会在最新的 npm 上崩溃。
没有明确的 "requireFromParent" 调用。每当你调用 require
时,它首先会在它自己的 node_modules 文件夹中查找,如果没有找到该模块,它将向上遍历目录树并检查它的父级是否有该模块,这应该适用于你的目的。
我想我在 a nodebb blog 上找到了答案。
var Topics = module.parent.require('./topics'),
User = module.parent.require('./user'),
Notifications = module.parent.require('./notifications');