在节点中导出

时间:2014-08-12 22:25:58

标签: javascript node.js

我的file1中有以下结构;现在在file2中我只想访问" func1"不是其他部分:

module.exports = function(_app) {
    .
    .
    .
}

function func1(param1) {
    .
    .
    .
}

module.exports.func1 = func1;

现在在file2中,当我有以下内容时,它只加载func1或module.exports = function(_app){}吗?如果是这样,我怎么能在file2中使用func1。

var file1 = require('file1');
file1.func1

感谢;如果您需要更多说明,请告诉我......

1 个答案:

答案 0 :(得分:1)

你可以这样做:

var func1 = require('file1').func1;

严格来说,这会导入整个模块,但会丢弃对其他函数的引用。

如果您想实际调用已替换module.exports的功能,那么您需要先写一下:

require('file1')(app);  // invoke f(_app)

要在一行中执行此操作,f(_app)也需要return module.exports,这样您就可以对来电进行链接:

var func1 = (require('file1')(app)).func1;