我在nodejs中使用restify框架创建了一个服务器,但是当我想从function.js中response()函数打印输出'hello undefined‘,实际上预期输出是'hello world',我认为function.js中的另一个函数正在影响。。。告诉我我们如何从module中访问特定的函数?
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);
//.....