如何从nodejs中的模块访问任何功能?

how access any function from module in nodejs?

我在 nodejs 中使用 restify 框架创建了一个服务器,但是当我想 respond() 函数时 Function.js 它实际上打印输出 'hello undefined' 预期输出是 'hello world',我认为Function.js 的另一个函数正在影响 ...告诉我我们如何从模块访问特定函数?

server.js

var restify=require('restify')
var respond=require("./src/Components/FunctionalComponents/Function")
var server=restify.createServer() //server created


server.get('/hellopj',respond);

server.listen(8080, function(){
    console.log("server started...")
})

Function.js

module.exports =function respond(req,res,next){
        res.send('hello world ')
}

module.exports =function insertFun(req,res,next){
    res.send('hello '+req.params.name)
}

Nodejs 中有两种导出模块的方法。

  • 默认导出(一次没有任何密钥)
  • 命名导出。 (一次带钥匙)

现在,您正在使用默认导出,它正在被最后一个 insertFun 导出替换,因为每个文件只能有一个默认导出。

对于命名导出,只需给每个导出一个密钥并使用该密钥导入即可。

Functions.js:

module.exports ={
   respond: function respond(req,res,next){
       res.send('hello world ');
   },
   insertFun: function insertFun(req,res,next){
       res.send('hello '+req.params.name)
   }
};

Server.js:

const { respond } = require("./src/Components/FunctionalComponents/Function");

//......

server.get('/hellopj', respond);

//.....