电子:require('电子')的语义是什么?

时间:2016-05-05 20:55:36

标签: javascript electron

我正在开发一个Electron应用程序并且正在努力了解如何从我的渲染器中运行的脚本中访问文件。所以我试图与渲染UI的脚本共享main.js知道的文件系统路径。

我将此示例用作指南:

https://github.com/hokein/electron-sample-apps/tree/master/helloworld-sharedobj

我可以通过编写示例来使其正常工作。但是,index.html不是我需要路径的地方,而是在呈现UI的脚本中,它们位于〜/ js文件夹中。

但是,如果我将代码移动到脚本中,当我尝试var remote = require('electron').remote;它“无法解析模块'电子”时会出现错误

通过将代码保留在index.html中并使“remote”成为全局变量,我解决了这个问题。这不是正确的做法。

要在JavaScript代码中访问“电子”模块,我需要做什么? `

3 个答案:

答案 0 :(得分:1)

如果您使用webpack(最新版本)作为模块捆绑器,则可以在渲染器配置中设置开发目标。

module.exports = {
 target: 'electron-renderer',
}

如果您未在项目中使用webpack,则可以尝试以下代码。

var remote = window.require('electron').remote;

答案 1 :(得分:0)

我不完全确定我理解你的问题,但我猜你想做这样的事情:

// index.html
<script>
  require('path/to/my-js-file');
</script>

// my-js-file.js
var remote = require('electron').remote;

答案 2 :(得分:0)

我正在尝试维护一个SPA的单个树,它既是一个webapp(相对路径很酷),另一个是想要更好的词 - 一个文件:// - app(其中相对路径不是似乎很酷)与Electron一起运行。

换句话说,在main.js文件中我可以发布一个新的渲染器窗口来打开〜/ public / index.html,但我很难找到一种方法来打开作为相对路径保存的img和css文件(我的.js文件中的/ public)。

到目前为止,修复程序是使用电子窗口方便方法

https://github.com/jprichardson/electron-window

按照示例,我选择了如图所示的绝对路径,现在我的脚本可以满足他们的需求。