如何在节点js路由中调用外部函数

时间:2016-11-10 20:18:00

标签: javascript node.js express

我对这是如何工作有点困惑......

我正在编写一个节点/快速应用程序,我只是在自己的文件中编写了一个函数,我需要在我的路径中使用它,我只想调用该函数。

在另一个文件(tranformTheData.js)中有:

module.exports = {
    tranformTheData:function (data){
    console.log('whatever')
}

在我的节点app.js文件中,我有

var formatJSON = require('./js').tranformTheData;

我现在可以使用

formatJSON(data)

并利用这个功能?或者我必须做其他事情,我已经看到了一些这样做的例子,但它们对我没有意义。

2 个答案:

答案 0 :(得分:1)

你应该这样做:

// transformData.js
module.exports = {
    formatJSON: function(data) {
        console.log('whatever')
    },
    otherFunction: function() {

    }
}

// app.js
var tranformTheData = require('./path/to/tranformTheData.js');
var formatJSON = tranformTheData.formatJSON;
var otherFunction = tranformTheData.otherFunction;

formatJSON(data); // this will work
在这种情况下,

module.exports导出一个对象文字,该对象有两个函数。要求该文件并将其分配给变量将该变量分配给对象文字,然后该对象文字可以访问其方法。

当你调用这些方法时,你可以传入你想要的任何参数。在formatJSON的情况下,它接受data参数。

答案 1 :(得分:0)

确保在transformTheData.js中添加缺少的右括号:

module.exports = {
    tranformTheData: function(data) {
        console.log('whatever');
    }
};

现在你应该可以使用文件名require文件并按照你想要的方式调用该函数:

var formatJSON = require('./transformTheData').tranformTheData;

formatJSON(data);