概要 | Synopsis
概要
如何使用 Node.js 和 Electron API。
所有 Node.js 的内置模块都可以在 Electron 和第三方节点模块中使用(也包括原生模块)。
Electron 还为开发原生桌面应用程序提供了一些额外的内置模块。某些模块仅在主进程中可用,有些模块仅在渲染器进程(网页)中可用,有些模块可用于这两个进程。
基本规则是:如果一个模块是 GUI 或低级系统相关的,那么它应该只在主进程中可用。您需要熟悉主流程与渲染流程脚本的概念,才能使用这些模块。
主流程脚本就像一个普通的 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')
})
渲染器进程与普通网页没有区别,除了使用节点模块的额外功能:
<!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')
})
如果你需要整个electron
模块,你可以要求它,然后使用解构从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')
})