У меня много файлов для require (), и я обнаружил, что некоторые из них требуются слишком часто, поэтому сделал объект 'relay' следующим образом:
[../somePath/include.js] and include1, include2, ...
function f() { console.log("I'm a function"); }
module.exports = { f };
[relay.js]
const inc = require('../somePath/include');
const inc1 = require('../somePath/include1');
const inc2 = require('../somePath/include2');
...
const fib = inc.f;
module.exports = { fib };
[server.js]
const fib = require('relay').fib; // fib is undefined
// const fib = require('../somePath/include').f; //OK
let x = fib(); //TypeError: fib is not a function
И это дает мне TypeError: fib не является функцией.
Я совершенно уверен, что нет опечатки, потому что Visual Studio Intellisense находит определение (F12) без каких-либо проблем. Также говорится, что f - это функция. Можно также просмотреть определения f и fib, нажав несколько раз клавишу F12.
Чего мне не хватает? Связано ли это с вещами ES6, такими как разрушение объектов?