本文介绍:开发概要
如何使用Node.js和Electron API.
所有的Node.js的内置模块都可以完美运用于Electron和第三方Node模块中(包括native modules)。
Electron还为开发本地桌面应用程序提供了一些额外的内置模块。有些仅在主进程中或渲染器进程(网页)中可用,有的则通用于两个进程。
基本规则:GUI模块或者系统底层的模块只能在主进程中使用。
要使用这些模块,你必须熟稔主进程vs渲染进程。
像普通Node.js一样的主进程脚本:
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模块的能力:
<!DOCTYPE html>
<html>
<body>
<script>
const {app} = require('electron').remote
console.log(app.getVersion())
</script>
</body>
</html>
如果想运行应用,请参考 运行应用程序.
解构任务
从0.37版本起,你可以使用解构赋值更简便的使用内置模块。
const {app, BrowserWindow} = require('electron')
let win
app.on('ready', () => {
win = new BrowserWindow()
win.loadURL('https://github.com')
})
只需把模块引入( require
)并解构至 electron
中即可使用:
const electron = require('electron')
const {app, BrowserWindow} = electron
let win
app.on('ready', () => {
win = new BrowserWindow()
win.loadURL('https://github.com')
})
上面等同下面的代码:
const electron = require('electron')
const app = electron.app
const BrowserWindow = electron.BrowserWindow
let win
app.on('ready', () => {
win = new BrowserWindow()
win.loadURL('https://github.com')
})