1

当index.html 中需要node-opcua并且一个名为 Electron Helper 的进程占用了 100% 的 cpu 时,Electron 会冻结。

我在 macOS 10.14.2 上遇到过这个问题,但是一位朋友在 Windows 10 中进行了测试,并且成功了。

来自 package.json

"devDependencies": {
    "electron": "^4.0.4"
},
"dependencies": {
    "node-opcua": "^0.5.6"
}

主.js

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

function createWindow () {
  // Create the browser window.
  win = new BrowserWindow({ width: 800, height: 600 })

  // and load the index.html of the app.
  win.loadFile('index.html')

  win.webContents.openDevTools()
}

app.on('ready', createWindow)

索引.html

<script>
// Does not work
const opcua = require('node-opcua')
console.log(opcua)

// Works
// const fs = require('fs')
// console.log(fs)
</script>

运行简单代码时,它应该只在控制台中打印 opcua 对象。但是完整的电子进程冻结了。

4

1 回答 1

0

通过将 node-opcua 更新到 2.1.9 和 electron 到 6.0.11 来解决它

于 2019-10-07T06:50:01.380 回答