我在 macOS 上构建了一个 Electron 应用程序electron-packager。最简单的形式是,该应用程序由一个按钮组成,按下该按钮即可打开一个外部程序。
child_process.execFile('open', ['-a', 'Terminal', path])
Run Code Online (Sandbox Code Playgroud)
与从终端运行应用程序相比,我观察到,运行与终端分离的应用程序(例如开始使用 Spotlight)时,上面的函数调用速度减慢了 50 倍
hello.app/Contents/MacOS/hello
Run Code Online (Sandbox Code Playgroud)
从终端启动 + 按下按钮 => 外部应用程序在 100 毫秒内打开
从 Spotlight 启动 + 按下按钮 => 外部应用程序将在 5 秒内打开
有任何提示可能是什么问题吗?
| Package | Version |
| ----------------- | -------- |
| npm | 6.4.1 |
| node | v10.15.2 |
| electron | 4.1.4 |
| electron-packager | 13.1.1 |
Run Code Online (Sandbox Code Playgroud)
编辑:电子 6.0.9 和电子包装器 14.0.5 的问题仍然存在
小智 1
使用spawn而不是execFile可能会更幸运:它可能更合适,因为您正在运行open命令,而不是直接执行特定文件(例如,启动应用程序)。
child_process.spawn('open', ['-a', 'Terminal', path]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
703 次 |
| 最近记录: |