多线程
通过Web Workers,可以实现用操作系统级别的线程来跑JavaScript
多线程的Node.js
可以在Electron的Web Workers里使用Node.js的特性。要用的话,需把webPreferences
中的nodeIntegrationInWorker
选项设置为true
const win = new BrowserWindow({
webPreferences: {
nodeIntegrationInWorker: true
}
})
nodeIntegrationInWorker
可以独立于nodeIntegration
使用,但sandbox
必须不能设置为true
注意: 此选项在 SharedWorker
s 或 Service Worker
s 中不可用,因为沙盒策略不兼容。
可用的API
Web Workers支持Node.js的所有内置模块,而且asar
档案也仍通过Node.js的API来读取。 不过所有的Electron内置模块不可以用在多线程环境中。