和我一起,这里有两个伙伴。首先,我是正确的,如果我有这样的主要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()
并成功,似乎可以访问主脚本中声明的变量。 >
我试图理解为什么是这样,并且我可以看到两个可能不相关的差异。
require()
语句仅在我给相对于应用程序根目录的完整路径,而不是相对于执行此操作的文件的完整路径要求。谁能解释为什么所需的模块可以访问Electron中需求者的属性?
谁能解释为什么我的require语句仅适用于Electron中的根相对路径?
非常感谢:)
编辑这都是在渲染器中发生的。主JS正在使用标准<script>
标记加载到我的index.html中。然后,它需要那里的模块。
和我一起,这里有两个伙伴。首先,我是正确的,如果我有这样的主JS设置,那么我是正确的。const myModule = require('./ myModule');让parentVar ='foo'; myModule.test(); ...
经典的易于使用技巧。