API概要

如何使用Nodejs和Electron的API

nodejs所有的内置模块在Electron都是可用的并且第三方模块也支持。
Electron也提供了一些额外的内置模块用来开发传统的桌面应用,一些模块只能在主进程中使用,
一些只能在渲染进程中使用,也有一些可以同时在主进程和渲染进程中使用。
基本规则就是: GUI或者系统底层的模块只能在主进程中使用,要使用这些模块,你应当很熟悉主进
程vs渲染进程脚本的概念。
主进程中的脚本就像普通的nodejs脚本:

1
2
3
4
5
6
7
8
const {app, BrowserWindow} = require('electron');

let win = null;

app.on('ready', () => {
win = new BrowserWindow({width: 800, height: 600});
win.loadURL('https://github.com');
});

渲染进程和web页面没有什么不同,除了它有使用node模块的能力:

1
2
3
4
5
6
7
8
9
<!DOCTYPE html>
<html>
<body>
<script>
const {app} = require('electron').remote;
console.log(app.getVersion());
</script>
</body>
</html>

如果想运行应用,阅读quik startrun your app

解构赋值

自0.37起,你可以使用destructuring assignment
更便捷的使用内置模块.

1
const {app, BrowserWindow} = require('electron');

如果你需要Electron全部的模块,你可以引用electron并且使用解构来访问个别的模块:

1
2
const electron = require('electron');
const {app, BrowserWindow} = electron;

这和下面的语法是一样的

1
2
3
const electron = require('electron');
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;