неэкспортированная переменная становится экспортированной - PullRequest
0 голосов
/ 03 ноября 2019

Я создаю приложение с электроном, используя обычные модули commonjs с require() и некоторыми файлами. файлы требуют друг друга, но при этом переменные не экспортируются в одном модуле index.js доступны в другом menu.js - как если бы они были экспортированы:

мои настройки:

// main.js
mainWindow = new BrowserWindow({
 webPreferences: {
    nodeIntegration: true
  }
}) 
mainWindow.loadFile('index.html') // script includes index.js
// index.js
const fs = require('fs')
const { remote } = require('electron')
const menu = require('./scripts/menu.js')

const leftPane = document.querySelector('#left')  // local variable, not exported
menu.setup()
// menu.js
function setup () {
  console.log(leftPane) // leftPane from index.js is defined! how?
}

exports.setup = setup

переменная leftPane определена внутри index.js, так почему же она определена и в menu.js? это может быть что-то с nodeIntegration и чем-то вроде подъема js?

...