如果我有以下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文件中调用函数。
答案 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();
还有许多其他选择和可能性,请务必阅读文档。