module.exports = function()如何调用

时间:2018-03-28 09:15:39

标签: javascript angularjs node.js

快速提问。

我知道如果像这样放置导入/导入函数

module.exports = {
    get: get,
    set: set
};

但我不知道如何从另一个文件运行此函数,我需要导入/导出什么?

 module.exports = function() {  
 var this = {};
 var that = {}; .... 
 much more code
 ....

3 个答案:

答案 0 :(得分:0)

我不知道,当你说“知道如何导入/导出函数”时,你的意思是什么,但是你可以做的就是定义一个函数,然后再从另一个文件重用它。

<强> test.js

module.exports = () => {
   console.log('This is a sample function')
}

<强> use.js

const myfunc = require('./test');
myfunc(); // Would print This is a sample function

我假设test.jsuse.js位于同一目录中。

您还可以在文件中拥有多个功能: 的 test.js

module.exports.fn1 = () => {
   console.log('This is sample function1')

}

module.exports.fn2 = () => {
   console.log('This is sample function2')
}

<强> use.js

const myfunc1 = require('./test').fn1;
myfunc1(); 
console.log(require('./test').fn2); // Directly if you want

您还可以阅读:

  • import语句,目前NodeJs不支持,但有babel的方式。

答案 1 :(得分:0)

假设您有两个文件A.js和B.js

<强> A.js

module.exports = function() {  
   var this = {};
   var that = {}; .... 
   much more code
   ....
}

现在,如果你想在B.js中使用它,那么A.js正在使用默认导出,它正在导出一个函数,所以你可以像这样使用它。

var a = require('./A.js');
// now as A.js is exporing a function so you can call that function by invoking a() function 
// as you have inported it into variable name a
a(); // this will call that

如果你的函数需要这样的参数 module.exports = function(x, y) {

然后你需要传递它像

a(1, 2);

答案 2 :(得分:0)

您有两种方法可以导出模块的功能(存档js):

1)“默认情况下” - &gt;如果只需要在同一存档中导出一个函数或其他数据。在这种情况下,您可以使用所需的别名导入:

export default myFunction() {...}
(In the other archive)
import alias you want(the same name or other) from `'./name_of_the_archive_to_import';

2)“几个功能或对象” - &gt;如果必须在同一存档中导出多个函数或其他数据。在这种情况下,您必须调用(导入)与声明的名称相同的变量:

export variable1;
export variable2;
...
(In the other archive)
import variable1 from './name_of_the_archive_to_import';
import variable2 from './name_of_the_archive_to_import';
...