electron-builder打包build配置

市面上對於electron-builder打包的介紹文章不少,這裏不作過多介紹,若是須要能夠看蘇南大叔的博客,這裏只是針對打包配置進行一個總結。
爲了避免浪費你們時間,若是你有如下問題,能夠試着看個人文檔:html

  • 打包後發現文件訪問不了,在開發環境下是好的
  • 打包的時候,怎麼設置不讓安裝在c盤
  • 將文件移動到根目錄

配置文件以下

package.json
{
  "name": "demo",
  "version": "0.0.2",
  "author": "四月 <507811581@qq.com>",
  "build": {  // electron-builder配置
    "productName":"xxxx",//項目名 這也是生成的exe文件的前綴名
    "appId": "xxxxx",//包名  
    "copyright":"xxxx",//版權  信息
    "compression": "store", // "store" | "normal"| "maximum" 打包壓縮狀況(store 相對較快),store 39749kb, maximum 39186kb
    "directories": {
        "output": "build" // 輸出文件夾
    }, 
    "asar": false, // asar打包
    "extraResources":  { // 拷貝dll等靜態文件到指定位置
        "from": "./app-update.yml",
        "to": "./b.txt"
    },
    "win": {  
        "icon": "xxx/icon.ico"//圖標路徑,
        "extraResources":  { // 拷貝dll等靜態文件到指定位置(用於某個系統配置)
            "from": "./app-update.yml",
            "to": "./b.txt"
        }
    },
    "nsis": {
        "oneClick": false, // 一鍵安裝
        "guid": "xxxx", //註冊表名字,不推薦修改
        "perMachine": true, // 是否開啓安裝時權限限制(此電腦或當前用戶)
        "allowElevation": true, // 容許請求提高。 若是爲false,則用戶必須使用提高的權限從新啓動安裝程序。
        "allowToChangeInstallationDirectory": true, // 容許修改安裝目錄
        "installerIcon": "./build/icons/aaa.ico", // 安裝圖標
        "uninstallerIcon": "./build/icons/bbb.ico", //卸載圖標
        "installerHeaderIcon": "./build/icons/aaa.ico", // 安裝時頭部圖標
        "createDesktopShortcut": true, // 建立桌面圖標
        "createStartMenuShortcut": true, // 建立開始菜單圖標
        "shortcutName": "xxxx" // 圖標名稱
    }
  }
}
使用到c編譯爲node文件的安裝包

使用ffi sqlite robot-js等的時候,須要先使用electron-builder install-app-deps進行編譯,可是呢,安裝electron-rebuild須要先安裝 node-gyp,你覺得這樣就完了? 不不不,安裝node-gyp須要先安裝Visual Studiopython 2.x 驚不驚喜,意不意外,因此咱們須要一鍵安裝npm i -g windows-build-tools他會給咱們安裝好Visual Studiopython 2.7,而後咱們只須要去配置下python的環境變量就好!node

問題及解決方案

  1. 問: 打包後發現文件訪問不了,在開發環境下是好的,有些喜歡研究的發現是asar的問題python

    答: 對的,打包爲asar文件後內部是隻讀的,因此當你須要操做的時候,確定不能操做呀,解決方案不少種sql

    • 可使用userData存放
    • 能夠設置asarfalse,詳細配置參照上面寫的配置文件
    • 看官方文檔有一種asar能夠直接將文件放置在app.asar外的寫法,目前還在研究,可行,等試驗成功在更新
  2. 問: 打包的時候,怎麼設置不讓安裝在c盤

    答: 請參考nsis配置,須要注意的是nsis是須要先手動安裝的,下載地址,另外在安利一個ico製做的網站npm

  3. 問: dll文件打包後怎麼移動到根目錄

    答: extraResources用來將依賴的文件放的指定位置,'./'指向app同級目錄json

  4. 有什麼問題歡迎留言告知
相關文章
相關標籤/搜索