为什么我不能从单独的.js文件中调用任何函数?

时间:2016-02-06 16:33:25

标签: javascript jquery function file include

如果我有以下main.js文件:

require('./test.js');

$(document).ready(function(){
    testFunction();
});

然后与test.js在同一目录中的相应main.js文件:

function testFunction()
{
    console.log('from test.js');
}

我收到错误:

  

未捕获的TypeError:testFunction不是函数

如果我尝试将require语句设置为变量x,然后在我的主js文件中调用x.testFunction,那么我会得到相同的错误但是x.testFunction

我如何让它工作?我需要能够从单独的js文件中调用函数。

1 个答案:

答案 0 :(得分:1)

您需要从具有该功能的文件中导出:

function fooBar() {
    console.log('hi');
}

module.exports = fooBar;

然后,您可以在其他文件中使用它,如:

var foo = require('./fooBar');
foo();

如果要从其他文件导出多个函数,也可以使用对象:

module.exports = {
    fooBar: fooBar, 
    Baz: Baz
};

并使用它:

foo.fooBar();
foo.Baz();

还有许多其他选择和可能性,请务必阅读文档。