我正在使用带有require()
和一些文件的普通commonjs模块通过电子构建应用程序。这些文件相互需求,但是这样做时,一个模块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吊起东西吗?