child_process方法在Electron上运行缓慢

时间:2019-09-17 04:37:47

标签: node.js electron

我在macOS上使用electron-packager构建了一个Electron应用程序。该应用程序以最简单的形式包含一个按钮,按下该按钮可打开一个外部程序。

child_process.execFile('open', ['-a', 'Terminal', path])

与从终端运行它相比,运行从终端分离的应用程序(例如使用Spotlight启动)时,我观察到上述函数调用的速度降低了50倍

hello.app/Contents/MacOS/hello

从终端开始+按下按钮=>外部应用会在100毫秒内打开

从Spotlight开始+按下按钮=>外部应用将在5秒钟内打开

任何提示可能是什么问题?

| Package           | Version  | 
| ----------------- | -------- |
| npm               | 6.4.1    |
| node              | v10.15.2 |
| electron          | 4.1.4    |
| electron-packager | 13.1.1   |

编辑:电子6.0.9和电子包装机14.0.5仍然存在问题

1 个答案:

答案 0 :(得分:0)

使用spawn而不是execFile可能会更好:由于您正在运行open命令,而不是直接执行特定文件(以启动一个应用程序)。

child_process.spawn('open', ['-a', 'Terminal', path]);