xineur / blog

7 stars 0 forks source link

electron-builder打包build配置 #3

Open xineur opened 5 years ago

xineur commented 5 years ago

市面上对于electron-builder打包的介绍文章很多,这里不做过多介绍,如果需要可以看苏南大叔的博客,这里只是针对打包配置进行一个总结。 为了不浪费大家时间,如果你有以下问题,可以试着看我的文档:


配置文件如下


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" // 图标名称
    }
  }
}

问题及解决方案

  1. 问: 打包后发现文件访问不了,在开发环境下是好的,有些喜欢研究的发现是asar的问题

    答: 对的,打包为asar文件后内部是只读的,所以当你需要操作的时候,肯定不能操作呀,解决方案很多种

    • 可以使用userData存放
    • 可以设置asarfalse,详细配置参照上面写的配置文件
    • 看官方文档有一种asar可以直接将文件放置在app.asar外的写法,目前还在研究,可行,等试验成功在更新
  2. 问: 打包的时候,怎么设置不让安装在c盘

    答: 请参考nsis配置,需要注意的是nsis是需要先手动安装的,下载地址,另外在安利一个ico制作的网站

  3. 问: dll文件打包后怎么移动到根目录

    答: extraResources用来将依赖的文件放的指定位置,'./'指向app同级目录

  4. 有什么问题欢迎留言告知