@Cyber_bober

Почему модули требуют переменную?

Привет, подключаю два модуля, которые требует fs.
const fs = require('fs');

var module1 = require('./module1');
var module2 = require('./module2');


Вот трэйс
/Users/cyberbober/Desktop/nodejs/2/module1.js:8
        fs.readdir(path, (err, files) => {
        ^

ReferenceError: fs is not defined
    at getFiles (/Users/cyberbober/Desktop/nodejs/2/module1.js:8:9)
    at Seek (/Users/cyberbober/Desktop/nodejs/2/module1.js:59:1)
    at Object.<anonymous> (/Users/cyberbober/Desktop/nodejs/2/module1.js:69:30)
    at Module._compile (module.js:541:32)
    at Object.Module._extensions..js (module.js:550:10)
    at Module.load (module.js:458:32)
    at tryModuleLoad (module.js:417:12)
    at Function.Module._load (module.js:409:3)
    at Module.runMain (module.js:575:10)
    at run (bootstrap_node.js:352:7)


На что при запуске получаю ошибку от модулей вида «fs undefined». Что я делаю не так? Или мне нужно в каждом модуле объвлять переменную fs?

Спасибо!
  • Вопрос задан
  • 153 просмотра
Решения вопроса 1
pxz
@pxz
✔ Совет: Вам помогли? Отметьте ответы решением.
У вас отсутствует переменная fs в модуле module1.
Переменные тут не глобальны и в каждом модуле нужно отдельно подключать зависимости. Удачи!
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@vshvydky
fs видимо стоит подключить внутри модулей, так как обращение к фс у вас идет оттуда.
У ноды не так много глобальных переменных, это module, console, process , может еще что-то , не помню. Все остальные функции требуют подключения в тех файлах, ссылки в которых на них ведутся. Да и в логе вам выдает конкретную строку конкретного файла, где произошла ошибка, думаю это очевидно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы