zoukankan      html  css  js  c++  java
  • 前端 Electron Nsis Web 安装包配置方法

     

    electron.png
     

    一般来说,一个 Electron 应用的 Windows 安装包最小也有 30 多 M,如果是 32 位 + 64 位的安装包,那就会是 60 多 M,而如果打成 web 版的安装包则非常小,只有几百 K,它在用户安装的时候再根据用户操作系统的位数去下载相应的安装包并安装。

    制作 Electron Nsis Web 版的安装包首先要选择一个发布源,也就是安装包存放的地方,有 BintrayOptions, GenericServerOptions, GitHub, S3Options, SpacesOptions 可供选择,这里我选择 Github。

    1. 配置 github

    第一步,首先要在 github 上新建一个项目,新建的时候勾上” Initialize this repository with a README” 选项

    create-repo.png
     

    今后我们的安装包将会上传到这个项目的 release 页面下,因此这个项目不需要写代码,我们只是用到这个项目的 release 功能而已。勾上 initialize 是为了 github 自动帮我们初始化项目,否则没有初始化的项目是不能使用 release 功能的。

    第二步,创建 GH_TOKEN。每次发布安装包的时候当然不可能手动上传,通过 GH_TOKEN,我们可以用程序调用 github 的 api 来自动上传文件。

    点击这里 或者 在 github 的个人设置中,找到 developer settings,然后点 Personal access token,来到如下页面,点击右上方的 “Generate new toke” 按钮

    personal-access-token.png
     

    接下来给 token 随便取一个名字,选择 scope 只勾选 repo 就可以了

    select-scope.png
     

    最后点击最底下的 Generate 按钮,将会得到一个 GH_TOKEN,记得把这个 token 在本地用文件保存下来。

    第三步,设置临时的环境变量

    windows 系统

    1
    set GH_TOKEN=xxxxxxxxxxxxxxx

    linux 系统

    1
    export GH_TOKEN=xxxxxxxxxxxxxxx

    2. 配置package.json

    现在修改 package.json 中的 build 属性

    首先 把原先的 nsis 改为 nsisWeb

    然后 把 target 改为 nsis-web

    接下来设置 publish 属性

    • provider 填 github
    • repo 填刚刚在 github 上新建的项目名,注意不是项目的 url
    • owner 就填我的 github 的账户名
    • releaseType 我选的是 releaseType,有三个选项 “draft” | “prerelease” | “release” 默认是 draft

    修改完之后的文件内容如下

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    {
    "build": {
    "nsisWeb": {
    "artifactName": "${productName}_Setup_${version}.${ext}",
    "oneClick": false,
    "perMachine": false,
    "allowToChangeInstallationDirectory": true
    },
    "win": {
    "target": [
    {
    "target": "nsis-web",
    "arch": ["x64", "ia32"]
    }
    ]
    },
    "publish": {
    "provider": "github",
    "repo": "electron-app",
    "owner": "luffySAMA",
    "releaseType": "release"
    }
    }
    }

    好了,现在运行 npm run release 就会在 github 项目的 release 里面看到

    release.png
     

    其中 electron-app_Setup_1.0.0.exe 就是 web 版的安装包,而另外两个 .7z的是实际的安装包,我们只要让用户下载 web 版的安装包就可以了。


    附源码

    web 版:https://github.com/luffySAMA/electron-app

    普通版:https://github.com/szwacz/electron-boilerplate

  • 相关阅读:
    AtCoder Grand Contest 015 题解
    AtCoder Grand Contest 014 题解
    AtCoder Grand Contest 013 题解
    AtCoder Grand Contest 012 题解
    AtCoder Grand Contest 011 题解
    AtCoder Grand Contest 010 题解
    AtCoder Grand Contest 009 题解
    NOIP2017 Day2 题解
    博客园主题备份
    多项式全家桶
  • 原文地址:https://www.cnblogs.com/onesea/p/15741637.html
Copyright © 2011-2022 走看看