在 NodeJs 中传递参数

Passing Argument in Require in NodeJs

我有一个名为 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