Я создаю приложение с электроном, используя обычные модули 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?