打包成桌面应用

2021/3/9 其他

# 前提须知

  1. cnpm (opens new window) (gzip 压缩支持) 命令行工具代替默认的 npm
  2. npm install -g cnpm --registry=https://registry.npm.taobao.org
  3. 初始化 cnpm init
  4. 安装 cnpm install --save-dev electron cnpm install
  5. "package": "electron-packager . test --out=./ --asar --app-version=1.0.0"

# electron

# 快速安装 electron
git clone https://github.com/electron/electron-quick-start  

cd electron-quick-start

cnpm install

cnpm start

# 开始打包 (包含源码) 用 electron-packager 打包

cnpm install electron-packager -g

"scripts": {
    "start": "electron .",
    "package": "electron-packager . myClient --out ./ --arch=x64 --app-version=1.0.0"
}

electron-packager . HelloWorld --platform=win32 --arch=x64 --icon=computer.ico --out=./out --asar --app-version=0.0.1 --overwrite --ignore=node_modules --electron-version=5.0.0  --icon=./app/img/icon.ico

# 如下解析:
--platform=win32:确定了你要构建哪个平台的应用,可取的值有 darwin, linux, mas, win32
--arch=x64:决定了使用 x86 还是 x64 还是两个架构都用
--icon=computer.ico:自定义设置应用图标
--out=./out:指定打包文件输出的文件夹位置,当前指定的为项目目录下的out文件夹
--asar:该参数可以不加,如果加上,打包之后应用的源码会以.asar格式存在
--app-version=0.0.1:生成应用的版本号
--overwrite:覆盖原有的build,让新生成的包覆盖原来的包
--ignore=node_modules:如果加上该参数,项目里node_modules模块不会被打包进去
--electron-version 5.0.0:指定当前要构建的electron的版本,需要和当前的版本一致,具体可以在package.json文件中查看,可以不加该参数,如果不一致,会自动下载,不建议写

# 最后生成该exe可执行文件
cnpm run package
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

将打包成的可执行文件 转为 安装包

cnpm install -g asar 安装asar依赖

asar pack ./index.html app.asar 将index.html打包成asar文件 放到resource文件夹里面

这是安装包: NSIS_v251_Build_20160612 - NS... (opens new window)

使用工具 NSIS: mytest.nsi (opens new window)

使用教程如下: https://blog.csdn.net/yu17310133443/article/details/79496499 (opens new window)

完整总结: https://blog.csdn.net/yu17310133443/article/details/79494953 (opens new window)


# nw

cnpm install nw  安装nw.js的依赖包

建一个package.json文件夹
{
  "name": "helloworld",
  "main": "http://www.shangqiuliren.com/shopLogin",
  "window": {
    "icon": "icon.png",
    "width": 1337,
    "height": 757
  }
}

copy /b nw.exe+package.nw app.exe

使用 VNISEdit 编译环境 ( NSIS ) 进行编辑
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16