2017-10-09 72 views
0

我已經構建了一個electon應用程序,其中包含一個可執行的電子包內。從Electron ASAR包執行外部應用程序

當我處於開發模式時,我只是通過/ assets/executable訪問文件,但是,當我使用ASAR構建包時,這似乎不起作用。

如何在我的電子包內解壓並獲得我的資源路徑?

回答

0

我敢肯定有一個更優雅的方式做到這一點,但是這一直爲我工作:

使自己resources文件夾中項目的基本目錄,創建一個名爲extras子目錄,然後把你的可執行文件。例如:

- myApp 
    - main 
    -mainprocess.js 
    - node_modules 
    - renderer 
    - renderer.html 
    - renderer.js 
    - resources 
    - extras 
     - ffmpeg.exe 
    - package.json 

打包應用程序後,運行一個額外的步驟,拷貝你的額外資源,以打包的應用程序的資源文件夾:在Windows上,這個命令不會做它,可以放在一個批處理文件:

xcopy "resources/extras" "release-builds/myApp-win32-x64/resources/extras" /i 

這樣,當您在代碼中引用可執行文件的路徑時,打包應用程序的路徑與dev版本的路徑相同。