electron-builder跨平台编译

https://www.electron.build/

package.json中build配置如下

{
          
   
  "name": "EletronSample",
  "version": "0.0.1",
  "author": "",
  "description": "EletronSample",
  "license": "MIT",
  "main": "./dist/electron/main.js",
  "scripts": {
          
   
    "build": "node .electron-vue/build.js && node .electron-vue/bytenode.js && electron-builder",
    "build:linux": "node .electron-vue/build.js && node .electron-vue/bytenode.js && electron-builder --linux",
    "build:dir": "node .electron-vue/build.js && electron-builder --dir",
    "build:clean": "cross-env BUILD_TARGET=clean node .electron-vue/build.js",
    "build:web": "cross-env BUILD_TARGET=web node .electron-vue/build.js",
    "dev": "node .electron-vue/dev-runner.js",  
    "pack": "npm run pack:main && npm run pack:renderer",
    "pack:main": "cross-env NODE_ENV=production webpack --progress --colors --config .electron-vue/webpack.main.config.js",
    "pack:renderer": "cross-env NODE_ENV=production webpack --progress --colors --config .electron-vue/webpack.renderer.config.js"   
  },
  "homepage": "",
  "build": {
          
   
    "productName": "EletronSample",
    "appId": "org.simulatedgreg.electron-vue",
    "directories": {
          
   
      "output": "build"
    },
    "files": [
      "dist/electron/**/*"
    ],
    "dmg": {
          
   
      "contents": [
        {
          
   
          "x": 410,
          "y": 150,
          "type": "link",
          "path": "/Applications"
        },
        {
          
   
          "x": 130,
          "y": 150,
          "type": "file"
        }
      ]
    },
    "mac": {
          
   
      "icon": "build/icons/icon.icns"
    },
    "win": {
          
   
      "icon": "build/icons/icon.png"
    },
    "nsis": {
          
   
      "oneClick": false,
      "guid": "EletronSample",
      "perMachine": true,
      "allowElevation": true,
      "allowToChangeInstallationDirectory": true,
      "installerIcon": "build/icons/icon.ico",
      "uninstallerIcon": "build/icons/icon.ico",
      "installerHeaderIcon": "build/icons/icon.ico",
      "createDesktopShortcut": true,
      "createStartMenuShortcut": true,
      "shortcutName": "EletronSample"
    },
    "linux": {
          
   
      "icon": "build/icons",
      "target": ["AppImage","deb"]
    }
  },
  "dependencies": {
          
   
   
  },
  "devDependencies": {
          
   
   
  }
}

Window平台编译

1.下载electron-builder和electron文件,参考地址: https://segmentfault.com/a/1190000013473230 由于网络原因不一定能下载成功。 可以将已经下载好的文件复制到以下位置: windows10环境地址: C:Users63195(用户名)AppDataLocalelectron-buildercache

2.执行npm run build 3.项目文件路径,不能带中文,否则会报错打包失败

linux平台编译

通过Docker来编译linux对应的包 1.安装Docker Desktop(具体配置方式参考:https://www.cnblogs.com/Can-daydayup/p/15468591.html)

2.命令行中执行 docker pull electronuserland/builder

3.执行以下命令启动容器

docker run --rm -ti -v C:ElectronPJ:/project -w /project electronuserland/builder C:ElectronPJ Eletron项目的根目录,并将其根目录映射到/project虚拟路径

4.执行以下命令 cd /project rm -rf ./node_modules npm i npm run build 注意:1.使用npm不要使用cnpm;2.在执行npm i前执行rm -rf ./node_modules

5:执行npm run build:linux 有时候会出现下载所需文件失败(多执行几次,有时候就能下载成功了),实在没成功的同学可以将我已经下载好的文件加压后复制到/root/.cache目录中,成功后的目录见下图

经验分享 程序员 微信小程序 职场和发展