如何仅在NodeJS中导出函数?

时间:2018-08-28 05:00:35

标签: javascript node.js

如何仅导出一个功能(其他功能除外)并将其导入其他文件中。

function messsageReceived(message) {

      //print message

  }
function readData(){ 

    // reads data.

  }
module.exports = mqtt_messsageReceived();

我想在其他文件中使用 mqtt_messsageReceived

5 个答案:

答案 0 :(得分:1)

我所做的就是声明一个变量并将函数存储在其中。

var messages = {

  getMessage : function(){

  },
  readData : function(){

  }
}
module.exports = messages;

然后我从另一个文件调用了这两个函数,并且两个函数都在工作。

var message = require('./message');
message.getMessage();
message.readData();

我很困惑,因为如果直接执行node message.js,则无法使用函数的文件。我必须从导入它们的另一个文件中调用它们。

答案 1 :(得分:0)

使用以下方式只能导出1个功能
1.

module.exports = function messsageReceived(message) {

    //print message

}

function readData() {

    // reads data.
}

2。

function messsageReceived(message) {

    //print message

}

function readData() {

    // reads data.
}

module.exports = messsageReceived;

答案 2 :(得分:0)

您可以通过两种方式进行操作:

module.exports = {
    MyFunction(parameter){
       console.log('export function');
    }
};

另一个是:

fuction MyFunction(){
   console.log('export function');
}
module.exports.MyFuntion= Myfuction;

答案 3 :(得分:0)

您可以使用以下代码导出功能:

var messsageReceived=function(message){
// your code here
}
module.exports = {
    messsageReceived: messsageReceived
}

答案 4 :(得分:0)

要仅从模块中导出单个功能:

模块文件:

//function definition
function function_name(){...}

//Export
module.exports = function_name;

导入:

const function_name = require('<relative path>/module_name');

//call imported function 

function_name();

要导出多个功能:

模块文件:

//function definitions
function function_name1(){...}
function function_name2(){...}

//Exports
module.exports.function_name1= function_name1;
module.exports.function_name2= function_name2;

导入:

const module_name = require('<relative path>/module_name');// This returns module object with the functions from module's file.

//call imported function 
module_name.function_name1();
module_name.function_name2();