LayaAir打包发布PC或MAC平台的桌面应用程序

1,052 阅读2分钟

Laya仅提供了移动平台的原生应用打包方案,如果我们的作品想要发布到Steam,微软商店或者MacAppStore等平台,就需要打包成exe,app等格式。目前主流的方案有node-webkit,Electron,Hex等,node-webkit 是一个基于 Chromium 和 Node.js 的 Web 运行环境,可让你直接在 DOM 中调用 Node.js 模块,并可使用任何现有的 Web 技术来编写本地应用。但是我在实际使用中,发现对于Laya出包的运行效果并不好,存在一些健壮性问题,会出现卡顿现象。使用了Electron后,完美运行,没有异常情况。Electron是目前开发桌面应用成本比较低方法,特别是在Mac平台上,很多软件都是用它开发的,

1.安装环境

下载获取快速打包工程: github.com/electron/el…

在打包工程目录下安装依赖:

 npm install

将Laya构建的web版本的文件夹复制到打包工程目录,修改main.js中的html路径为对应目录下的Laya项目的index.html

使用

 npm start

即可在electron下运行调试。

2.electron打包

electron打包主要有两种方法,分别是electron-builder与electron-packager。electron-builder比electron-packager有更丰富的的功能,支持更多的平台,同时也支持了自动更新。最重要的是electron-builder打出的包更为轻量,并且可以打包出不暴露源码的setup安装程序。考虑到以上几点,我果断选择了electron-builder。

安装依赖:

 npm i electron-builder --save-dev

在package.json中做如下配置:

{
  "name": "electron-quick-start",
  "version": "1.0.0",
  "description": "A minimal Electron application",
  "main": "main.js",
  "scripts": {
    "start": "electron .",
    "dist": "electron-builder --win --x64",
    "dist mac": "electron-builder --mac"
  },
  "repository": "https://github.com/electron/electron-quick-start",
  "keywords": [
    "Electron",
    "quick",
    "start",
    "tutorial",
    "demo"
  ],
  "author": "GitHub",
  "license": "CC0-1.0",
  "devDependencies": {
    "electron": "^11.2.0",
    "electron-builder": "^22.9.1"
  },
  "electronDownload":{
    "mirror":"https://npm.taobao.org/mirrors/electron/"
  },
  "build": {
    "appId": "com.lear.game1",
    "copyright":"Lear",
    "productName":"game1",
    "mac": {
      "target": [
        "dmg",
        "zip"
      ]
    },
    "win": {
      "target": [
        "nsis",
        "zip"
      ]
    }
  }
}

由于官方镜像下载过慢,所以使用了淘宝源:

   "electronDownload":{
      "mirror":"https://npm.taobao.org/mirrors/electron/"
    }

详细参数: www.electron.build/cli

打包命令:

npm run dist

打包后生成的文件: