需要来自带有Node / Component.js的单个JS文件的多个子模块

时间:2015-03-13 05:49:06

标签: javascript node.js

我有一个JS文件(在myDependency的私有github repo中作为示例)。

我已将多个子模块移动到此仓库中,并希望在我的应用中单独使用这些子模块。

到目前为止,我有以下(所有示例名称):

“myDependency”:

index.js /

module.exports = function () {
require(".first");
require(".second");
require(".third");
require(".fourth");
require(".fifth");
require(".sixth");
require(".seventh");
require(".eighth");
require(".ninth");
};

在我的component.json中,我想执行以下操作:

dependencies: {
    "privateRepoName/myDependency": "master"
}

然后在我的剧本中:

var first = myDependency.first;

这不起作用。我首先无法访问这些方法。不确定我做错了什么。

1 个答案:

答案 0 :(得分:1)

require函数的结果未在index.js中公开。实际上,myDependency是一个函数对象,在调用时不会返回任何内容。

要解决此问题,请导出一个包含所有必需模块的对象,例如

module.exports = {
    "first"  : require("./first"),
    "second" : require("./second"),
    "third"  : require("./third"),
    "fourth" : require("./fourth"),
    ...
}

请注意,路径应以./开头,而不仅仅是.