Requirejs 如何从所需模块中访问main.js文件中的变量?

Requirejs 如何从所需模块中访问main.js文件中的变量?,requirejs,electron,Requirejs,Electron,我开始使用Electron,我想知道如何从main.js文件头中的所需脚本中访问main.js脚本中的变量 下面是我的简化示例: main.js: const Electron = require('electron'); const App = Electron.app; const menus = require('./assets/js/menus.js'); //this is the required script! let myVar = false; App.on('ready

我开始使用Electron,我想知道如何从main.js文件头中的所需脚本中访问main.js脚本中的变量

下面是我的简化示例:

main.js:

const Electron = require('electron');
const App = Electron.app;
const menus = require('./assets/js/menus.js'); //this is the required script!

let myVar = false;

App.on('ready', function({
   myVar = true;
})

//trying with module.exports
module.exports = {
   myVar
}
menu.js:

const Path = require('path');
const main = require(Path.resolve('./main.js'));

Main: [{
        label:'mainLabel',
        submenu:[{
            label:'subLabel',
            click:()=>{
                console.log(**main.myVar**)//should be true when i access it, its undefined like it doesn't exists:(
            }
        }]
}]
我在main.js中使用getter和setter实现了我想要的功能,但我觉得这并不是最好的方法


有什么想法吗?是否有一种方法可以包括脚本,以便它可以访问脚本中声明的所有变量和函数(包括它)?

为什么
require(Path.resolve('./main.js')一个简单的
require('./main')
就足够了,js部分是由节点环境预先假定的吗?您还可以将变量分配给
App
变量,并在主进程和渲染器进程中使用它们。(请注意,渲染进程生成的副本本身不会更新)是menu.js在主进程中运行还是渲染进程?@pushkin它在主进程中运行process@HansKoch谢谢你的提醒!