CocosCreator命令行发布游戏资源

前言

作为初学者,Cocos开发过程中发布游戏都是通过界面右上角"构建发布"按钮去做发布的,但是发布的配置无法存储在项目版本管理中,多人开发的时候就需要重新设置发布,所以研究了下,官方是支持使用命令行发布的,这样就只需要在代码编辑的IDE就可以实现发布游戏了。

官方文档的说明:Cocos Creator 3.0 手册 -- 命令行发布项目

步骤

命令行发布分为下面的步骤:

  • 创建发布的配置文件
  • 创建发布脚本
  • 简化发布脚本(可选但推荐)

1、创建发布的配置文件

我们在项目的根目录创建一个名为 cc.config.json 的配置文件,名称不一定是这个,可以按照自己的习惯去定义。配置内容可以参考官方文档去自己编写,也可以是在CocosCreator发布面板中导出的。

文件的大概内容如下:

json 复制代码
{
  "name": "<your game name>",
  "server": "",
  "platform": "web-desktop",
  "buildPath": "project://build",
  "debug": false,
  "md5Cache": false,
  "skipCompressTexture": false,
  "sourceMaps": false,
  "polyfills": {
    "asyncFunctions": true
  },
  "experimentalEraseModules": false,
  "startSceneAssetBundle": false,
  "bundleConfigs": [],
  "useBuiltinServer": false,
  "mainBundleIsRemote": false,
  "mainBundleCompressionType": "merge_dep",
  "useSplashScreen": true,
  "bundleCommonChunk": false,
  "packAutoAtlas": true,
  "startScene": "30304cdc-0ee6-41dd-a8f3-cfceae8ce43c",
  "outputName": "game",
  "taskName": "web-desktop",
  "scenes": [
    {
      "url": "db://assets/Scenes/main.scene",
      "uuid": "30304cdc-0ee6-41dd-a8f3-cfceae8ce43c"
    }
  ],
  "packages": {
    "web-desktop": {
      "useWebGPU": false,
      "resolution": {
        "designWidth": 750,
        "designHeight": 1334
      },
      "cullEngineAsmJsModule": false,
      "__version__": "1.0.1"
    },
    "engine": {
      "cleanupImageCache": "inheritProjectSetting",
      "__version__": "1.0.7"
    },
    "cocos-service": {
      "configID": "ff64b2",
      "services": [],
      "__version__": "3.0.7"
    }
  },
  "__version__": "1.3.6",
  "buildMode": "normal",
  "logDest": "project://temp/builder/log/web-desktop8-10-2023 14-53.log"
}

2、创建发布脚本

完成了配置文件的编写,接下来我们在项目的package.json中添加build脚本,后续直接执行 npm run build 就可以发布了。

下面是以Mac下CocosDashboard安装的CocosCreator3.8.0为例,不同的版本可执行文件可能不同。

arduino 复制代码
{
    "scripts": {
        "build": "/Applications/Cocos/Creator/3.8.0/CocosCreator.app/Contents/MacOS/CocosCreator --project . --build "configPath=./cc.config.json""
    }
}

参数说明:

  • project:项目文件夹,这个必传,写一个点代表是当前目录
  • build:build参数,后面传递了我们自定义的配置文件名称,即项目文件夹下的cc.config.json文件

3、简化发布脚本(可选但推荐)

观察我们现有的build脚本,CocosCreator使用的是绝对路径,如果其他开发者的路径不在这里,就需要在本地修改,那我们是否可以直接忽略路径,直接使用 CocosCreator 命令直接发布呢,脚本示例如下:

arduino 复制代码
{
    "scripts": {
      "build": "CocosCreator --project . --build "configPath=./cc.config.json""
    }
}

其他开发者只要在系统中能访问CocosCreator命令即可,默认情况,我们在命令行直接运行 CocosCreator 会提示命令不存在的。

也有解决方案:在Linux/Mac平台上可以使用软连接方式,将CocosCreator命令直接连接到PATH环境变量能覆盖的目录即可,下面的例子就是将CocosCreator软连接到/usr/local/bin/CocosCreator;

bash 复制代码
sudo ln -s /Applications/Cocos/Creator/3.8.0/CocosCreator.app/Contents/MacOS/CocosCreator /usr/local/bin/CocosCreator

注意,第一个参数我们要使用绝对路径去链接,否则调用的时候会提示

makefile 复制代码
zsh: too many levels of symbolic links: CocosCreator

以上我们便完成了命令行构建的全部过程。

后记

既然可以在命令行发布,那我们的发布是否也可以迁移到CI上呢,让服务器去帮我们发布,实现自动化呢,当然是可以了。

相关推荐
VaJoy1 天前
Cocos Creator Shader 入门 ⒂ —— 自定义后处理管线
前端·cocos creator
Thomas游戏开发4 天前
Cocos Creator 面试技巧分享
面试·微信小程序·cocos creator
IkeShyZz4 天前
cocos creator android项目接入deeplink问题总结
cocos creator
VaJoy11 天前
Cocos Creator Shader 入门 ⒀ —— UBO 内存布局策略
cocos creator
成长ing1213820 天前
cocos creator 3.x shader 流光
前端·cocos creator
VaJoy21 天前
Cocos Creator Shader 入门 ⑾ —— 光照跟随
cocos creator
成长ing1213822 天前
闪白效果
前端·cocos creator
冷水金枪鱼23 天前
Light2D光照系统(基于CocosCreater引擎3.x/2.x)
cocos creator
VaJoy25 天前
Cocos Creator Shader 入门 ⑽ —— 拖尾效果的实现
cocos creator
VaJoy1 个月前
Cocos Creator Shader 入门 ⑼ —— 溶解动画
cocos creator