首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

概要 | Synopsis

如何使用 Node.js 和 Electron API。

所有 Node.js 的内置模块都可以在 Electron 和第三方节点模块中使用(也包括原生模块)。

Electron 还为开发原生桌面应用程序提供了一些额外的内置模块。某些模块仅在主进程中可用,有些模块仅在渲染器进程(网页)中可用,有些模块可用于这两个进程。

基本规则是:如果一个模块是 GUI 或低级系统相关的,那么它应该只在主进程中可用。您需要熟悉主流程与渲染流程脚本的概念,才能使用这些模块。

主流程脚本就像一个普通的 Node.js 脚本一样:

代码语言:javascript
复制
const {app, BrowserWindow} = require('electron')
let win = null

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

渲染器进程与普通网页没有区别,除了使用节点模块的额外功能:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<body>
<script>
  const {app} = require('electron').remote
  console.log(app.getVersion())
</script>
</body>
</html>

要运行您的应用,请阅读运行您的应用。

解构赋值

从0.37开始,您可以使用解构赋值来更容易地使用内置模块。

代码语言:javascript
复制
const {app, BrowserWindow} = require('electron')

let win

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

如果你需要整个electron模块,你可以要求它,然后使用解构从electron来访问各个模块。

代码语言:javascript
复制
const electron = require('electron')
const {app, BrowserWindow} = electron

let win

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

这相当于下面的代码:

代码语言:javascript
复制
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')
})

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com