Вложенный require () Не может найти определение функции в Nodejs - PullRequest
0 голосов
/ 17 марта 2020

У меня много файлов для 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, такими как разрушение объектов?

1 Ответ

0 голосов
/ 17 марта 2020

Найден цикл.

Одно из включений было расположено в папке, отличной от других, поэтому я ошибочно сослался на реле. js там, поэтому был выполнен обязательный цикл .

...