1. 程式人生 > 其它 >quasar使用electron打包

quasar使用electron打包

quasar使用electron打包

 從構建好的專案中,我們不難發現,electron打包有兩種方式:

electron-packager打包

 這篇部落格是通過我嘗試了很多種方法之後,最先開始,我使用的是electron-packager,所用的electron和electron-packager版本分別是:
"electron": "^18.0.2",
"electron-packager": "^15.4.0",
它打包時需要下載的包是:electron-v18.3.2-win32-x64.zip
嘗試了很久,最後還是沒搞明白怎麼使用本地快取來實現打包,
在這個資料夾下:C:\Users\xyongz\AppData\Local\electron\Cache


但是隻要有這麼一個檔案:

我改了名字後,打包就不會成功了,只要修改了上面檔案中的任意一個字母,就會報下面的錯誤
檔案內有如下兩個檔案:

報錯如下

不改檔名稱就能正常打包,但怎麼生成的這個檔案,目前還沒搞明白,如果有某位大佬知道,還請一定要在評論區多多交流~

使用electron-builder打包

我使用的是:"electron": "^19.0.2",
 首先我們需要修改我們的quasar.config.js檔案:
官網位置:Publishing (electron-builder only)

// quasar.config.js

electron: {
  bundler: 'builder', // set here instead of using command line flag --bundler
  builder: {
    appId: 'com.electron.myelectronapp',
    win: {
      target: 'nsis'
    },
    publish: {
      'provider': 's3',
      'bucket': 'myS3bucket'
    }
  }

執行quasar build -m electron命令後package.json檔案中會自動新增"electron-builder": "^22.4.0",
此時程式繼續執行,執行後報如下錯誤:

從報錯中,我們可以看到,需要下載electron-v19.0.3-win32-x64.zip,此時,我們可以去淘寶映象網站下載electron

把我們自己下號的zip放到:C:\User\xyongz\AppData\Local\electron\Cache

然後繼續執行,發現還需要下載:winCodeSign-2.6.0.7z

然後繼續執行,接下來就可能出現如下錯誤:

沒錯,就是中文亂碼,解決它,有一個簡單的方法,就是把路徑中涉及到的中文全改成英文,
如果不行這麼幹,那麼我們就執行第二個方法:
找到 node_module/app-builder-lib/out/targets/nsis/NsisTarget.js

中的executeMakensis() 方法,在這裡面新增一句程式碼,支援中文

args.push("-INPUTCHARSET","UTF8");

如圖所示:

執行結果圖:

最後,
electron-packager和electron-builder打包的區別是:
electron-packager打包之後生成的目錄如下:

electron-builder打包之後生成的目錄如下:

從這兩張圖可以看出,用builder打包的方式,多了一個安裝檔案,如果想直接傳送安裝檔案給朋友玩的話,就建議直接用builder打包,不需要安裝程式就用packager打包就行了!
這兩種打包方式,肯定還有一些別的區別,在這裡就不寫出來了, 小夥伴們自己研究吧~~