Tengo un módulo que necesito en otra ubicación, aquí hay un ejemplo (llame a esto lib.js ):
module.exports = { a:{ someFunc: function() { } }, b:{ someOtherFunc: function() { } } }Mi otro archivo sería así:
const lib = require('./lib.js'); lib.a.someFunc(); Pero, ¿qué pasa si quiero acceder a a.someFunc() desde b.someOtherFunc() ?
He intentado usar this.a.someFunc() pero eso no funciona, probablemente porque no es un objeto instanciado como tal. También probé exports.a.someFunc() pero eso tampoco funciona.
Así que ninguno de estos funciona:
module.exports = { a:{ someFunc: function() { } }, b:{ someOtherFunc: function() { this.a.someFunc(); exports.a.someFunc(); } } }¿Es esto posible de hacer?
Tienes que definirlos por separado así
const a = { someFunc: function() { } } const b = { someOtherFunc: function() { a.someFunc(); } } module.exports = {a, b}