在NodeJ中的Require中传递参数



我有一个名为bla.js的文件,它导出两个函数:

bla.js

module.exports = function add3(number){
return number + 3
}
module.exports = function add5(params) {
return params + 5
}

然后我在app.js中调用这个文件,像这个一样传递数字5

app.js

console.log(require(./bla)(5))

为什么控制台上只显示数字10?以及函数add3?

如果它们在同一个文件中,那么您将覆盖正在导出的内容。你可以做一些事情。

// bla.js
module.exports.add3 = function(num) {
return num + 3;
}
module.exports.add5 = function(num) {
return num + 5
}

// test.js
const blah = require('./bla')
console.log(blah.add3(10)) // 13
console.log(blah.add5(1)); // 6

或者,导出一个闭包:

module.exports = function(base) {
return function(adder) {
return base + adder;
}
}
console.log(blah(200)(3)) // 203

最新更新