Возможно, это не относится к реализации CommonJS модулей JS, но мой вопрос о том, как работает область действия с импортом модуля.
CommonnJS: foo.js
var foo = {
bar() {
baz();
}
}
module.exports = foo;
Основной JS
const foo = require('./foo.js');
function baz() {
console.log('this is baz');
}
foo.bar();
//-> ReferenceError: baz is not defined
Обычно я ожидал, что baz был найден, но кажется, что область видимости модуля полностью изолирована. Это верно? Есть ли способ или лучшая практика в том, что я пытаюсь сделать?