我想访问Node js中函数内的函数。下面是我的one.js: -
module.exports.user1 = ()=>{
updateNewUser:(req,res,next)=>{
console.log("User1")
}
}
module.exports.user2 = ()=>{
updateNewUser:(req,res,next)=>{
console.log("User2")
}
}
我在two.js中调用函数: -
var one = require('one.js');
console.log(one.user1.updateNewUser)
我想在one.js中访问updateNewUser。任何帮助,将不胜感激。
module.exports = {
user1: {
updateNewUser: (req, res, next) => {
console.log("User1")
}
},
user2: {
updateNewUser: (req, res, next) => {
console.log("User2")
}
}
}
const one = require('./one.js')
one.user1.updateNewUser(<p1>, <p2>, <p3>)
我建议你把你的one.js
改为:
module.exports = {
user1: (req, res, next) => {
console.log("User1")
},
user2: (req, res, next) => {
console.log("User2")
}
};
在two.js
:
let one = require('./one');
one.user1(); //Outputs: User1
one.user2(); //Outputs: User2
这个更干净,但是如果你真的想要一个函数内部的函数,那么:
module.exports = {
user1: () => {
return (req, res, next) => { // Added return
console.log("User1")
}
},
user2: () => {
return (req, res, next) => { // Added return
console.log("User2")
}
}
};
注意:我添加了一个return
关键字,以便我们可以访问内部函数,这是你在one.js
中缺少的一件事
你在two.js
称它为:
let one = require('./one');
one.user1()(); //Outputs: User1
one.user2()(); //Outputs: User2