2017-03-15 63 views
0

第一文件包含以下:为什么没有导出的函数被执行?

function func() 
{ 
    console.log("Func"); 
} 

func(); 

function func1() 
{ 
    console.log("Func1"); 
} 

module.exports.expFunc = func1; 

第二个文件有以下几点:

var newFunc = require('./prac'); 

newFunc.expFunc(); 

当执行所述第二文件的输出如下:

Func 
Func1 

为什么是即使导出的函数只是第二个文件,第二个文件的第一个函数?

回答

2

当文件是必需的,它被解析并运行。通常它只声明函数,但由于您在代码中调用了func(),因此在需要时会执行该调用。如果您在所需文件中删除对func()的呼叫,它将不会执行该功能。

+0

有没有任何方式导出该功能,而无需在第二个文件中调用它?我不想删除第一个文件中的'func()'调用。 – yobro97

+0

我不确定你想要做什么。你想执行哪个功能? – ChrisG

+0

我希望输出为'Func1'而不改变第一个文件中的代码。 – yobro97