1、测试环境
本文用以下环境运行:
Macos 13.2.1 + laya3.3.3 + node20.12.2
2、打包游戏web包
以laya实例项目为例,我们先新建一个示例项目

然后发布web包

3、打包mac包
1)初始化项目
在release目录下新建一个mac文件夹,在该文件夹下打开终端
执行命令
npm init
根据提示填写项目基本信息

2)安装打包工具
然后安装electron的打包工具,执行以下命令:
npm install --save-dev @electron-forge/cli
3)安装依赖
工具安装完成后,再执行一个导入命令:
npx electron-forge import
打开package.json文件,你可以看到scripts下多了一些项并且新增了devDependencies子段。我们等待依赖安装完成。
javascript
"scripts": {
"start": "electron-forge start",
"test": "echo \"Error: no test specified\" && exit 1",
"package": "electron-forge package",
"make": "electron-forge make"
},
"keywords": [
"layatomacdemo"
],
"author": "you",
"license": "ISC",
"devDependencies": {
"@electron-forge/cli": "^7.10.2",
"@electron-forge/maker-deb": "^7.10.2",
"@electron-forge/maker-rpm": "^7.10.2",
"@electron-forge/maker-squirrel": "^7.10.2",
"@electron-forge/maker-zip": "^7.10.2",
"@electron-forge/plugin-auto-unpack-natives": "^7.10.2",
"@electron-forge/plugin-fuses": "^7.10.2",
"@electron/fuses": "^1.8.0"
},
4)测试运行
依赖安装完成之后,将打包好的web包放到mac目录下,并在mac目录下新建一个main.js脚本文件,文件内容如下:
javascript
const { app, BrowserWindow } = require('electron/main')
const createWindow = () => {
const win = new BrowserWindow({
width: 1920,
height: 1080
})
win.loadFile('./web/index.html')
}
app.whenReady().then(() => {
createWindow()
app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) {
createWindow()
}
})
})
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})
脚本中,可以设置窗口大小(1920,1080)和游戏包入口文件路径(./web/index.html)。
这时在终端中输入npm run start文件即可成功运行游戏。
5)打包
测试没问题可以关闭游戏,然后我们接着在终端中执行打包命令:
bash
npm run make
打包完成后,可以在out目录下看到打包好的包,正常使用即可。
