在项目中,通常需要调用(打开)第三方软件,如exe、bash脚本、dll库等;

    框架提供了资源目录:./build/extraResources

    原理:

    • 生成软件时,将 资源目录 一起打进软件安装包
    • 软件安装后,将资源解压到:软件安装位置/resources/extraResources

    资源目录:

    1. ./build/extraResources

    使用:

    1. # 资源路径不同
    2. let softwarePath = '';
    3. # 旧语法
    4. if (electronApp.isPackaged) {
    5. // 打包后
    6. // execDir为 应用程序 exe\dmg\dep\类库 等,所在目录
    7. softwarePath = path.join(this.app.config.execDir, "resources", "extraResources", softName);
    8. } else {
    9. // 打包前
    10. softwarePath = path.join(this.app.config.execDir, "build", "extraResources", softName);
    11. }
    12. # 新语法,getExtraResourcesDir()会自动判断当前是打包前,还是打包后
    13. softwarePath = path.join(Utils.getExtraResourcesDir(), softName);
    14. # demo已经在项目中,请查看
    15. /**
    16. * 调用其它程序
    17. */
    18. openSoftware (softName) {
    19. .......
    20. }

    举例:demo中powershell.exe 软件位置

    1. C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
    2. # 把它放到 ./build/extraResources 资源目录中,并测试