使用其他文件中的方法NodeJS

时间:2018-08-26 14:51:18

标签: node.js

我想使用其他文件中的某些方法。我唯一的问题是文件已经使用了其他一些参数。

这是我要使用的文件。我的api调用将有一些方法。模型是我传递的数据库模型,而app是express()本身。该文件称为测试。

const testFile = require('test');

    module.exports = function (app, models) {

        router.get('/', function (req, res) {
           testFile.test();
        });


        return router;
    };

现在,我想从该文件中调用测试方法。 所以我创建了这个,但是这不起作用。我得到的错误测试不是函数。

app.use('/api/test', require('./routes/test.js')(app, models));
app.use('/api/main', require('./routes/main.js')(app, models));

这是我的index.js:

targetSdkVersion 25

从我的其他文件中调用方法测试的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

因此,您要导出一个函数,该函数又仅返回路由而不返回函数测试。要访问测试功能,您需要采用这种方式,

module.exports = function(app, models) {
   router.put('/', function (req, res) {

   });

   function test() {};

   return {
     router: router,
     testFun: test
   };
}

在另一个文件中

const testFile = require('test')(app, models); // Correct path from current directory    

module.exports = function (app, models) {

    router.get('/', function (req, res) {
       testFile.testFun();
    });


    return router;
};