从电子中的所需JS模块访问父变量

问题描述 投票:1回答:1

和我一起,这里有两个伙伴。首先,我是正确的,如果我有这样的主要JS设置。.

const myModule = require('./myModule');
let parentVar = 'foo';
myModule.test();

..我像这样设置所需的模块..

module.exports = {
    test: ()=>{
        console.log(parentVar);
    }
}

..当主脚本调用myModule.test()时,由于无法访问parentVar而会引发错误?这是我的经验和对在传统Web构建中使用模块的理解。

现在,我正在构建一个Electron应用程序(使用Electron Forge),在这里我可以调用myModule.test()并成功,似乎可以访问主脚本中声明的变量。 >

我试图理解为什么是这样,并且我可以看到两个可能不相关的差异。

  1. 我没有使用webpack / babel,所以JS的原始格式是我不喜欢的通常使用。
  2. 我的require()语句仅在我给相对于应用程序根目录的完整路径,而不是相对于执行此操作的文件的完整路径要求。
  3. 谁能解释为什么所需的模块可以访问Electron中需求者的属性?

谁能解释为什么我的require语句仅适用于Electron中的根相对路径?

非常感谢:)

编辑这都是在渲染器中发生的。主JS正在使用标准<script>标记加载到我的index.html中。然后,它需要那里的模块。

和我一起,这里有两个伙伴。首先,我是正确的,如果我有这样的主JS设置,那么我是正确的。const myModule = require('./ myModule');让parentVar ='foo'; myModule.test(); ...

javascript electron require electron-forge
1个回答
0
投票

经典的易于使用技巧。

© www.soinside.com 2019 - 2024. All rights reserved.