Передача аргумента в Require в NodeJs - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть файл с именем 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?

1 Ответ

0 голосов
/ 11 декабря 2018

Если они находятся в одном файле, вы переопределяете то, что экспортируется.Вы можете сделать несколько вещей.

// 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
...