自定义构建模版

Cocos Creator 支持对每个项目分别定制构建模板,只需要在项目路径下添加一个 build-templates 目录,里面按照 平台路径 划分子目录。在构建结束后,build-templates 目录下所有的文件都会自动按照对应的目录结构复制到构建生成的工程中。

结构类似:

  1. project-folder
  2. |--assets
  3. |--build
  4. |--build-templates
  5. |--web-mobile
  6. // 需要添加的文件,如 index.html
  7. |--index.html

这样如果当前构建的平台是 Web Mobile 的话,那么 build-templates/web-mobile/index.html 就会在构建后被拷贝到 build/web-mobile(以构建任务名为准)/index.html

除此之外,目前构建模板支持的文件类型还包括 ejs 类型json 类型。各平台的支持情况,详情请参考下文的 平台支持表

ejs 类型

随着 Creator 版本的升级,可能会对构建模板做一些修改和更新,就会导致不同版本构建出来的包内容不完全一样,开发者需要手动同步更新项目中定制的构建模板。
因此为了优化这个问题,Creator 在主菜单的 项目 中新增了 创建项目构建模板 选项,用于生成对应平台支持的构建模板。

build template

开发者只需要在生成的构建模板的 .ejs 中进行定制,构建时会自动将编辑器构建模板的更新同步到定制的构建模板中,经常改动的内容都会同步到该模板引用的子模板(.ejs)中,这样定制构建模板便可以不用频繁手动更新。

以创建 Web Mobile 构建模板为例,生成的构建模板目录结构如下:

web-mobile

注意:构建时,拷贝定制构建模板这一步骤是最后执行的,也就是说,假如该目录下同时存在 index.ejsindex.html,那么最终打包出来的是 index.html 文件而不是 index.ejs 文件。

json 类型的融合处理

许多小游戏平台都会有类似 game.json 之类的配置文件,若这些 json 文件在对应平台的定制构建模板中,构建时便不会直接将其拷贝并覆盖到对应的发布包目录下,而是会将编辑器最新构建模板的内容整合进来。

自定义构建模板平台支持表

各平台对构建模板的文件类型支持情况如下表所示:

平台平台构建插件名支持的文件类型
华为 AGChuawei-agc暂不支持
支付宝小游戏alipay-mini-gamegame.json
字节跳动小游戏bytedance-mini-gamegame.ejsgame.jsonproject.config.json
OPPO 小游戏oppo-mini-gamemanifest.json
华为快游戏huawei-quick-game暂不支持
Cocos Playcocos-playgame.config.json
vivo 小游戏vivo-mini-gameproject.config.json
小米快游戏xiaomi-quick-gamemanifest.json
百度小游戏baidu-mini-gamegame.jsonproject.swan.json
微信小游戏wechatgamegame.ejsgame.jsonproject.config.json
连尚小游戏link-sure暂不支持
趣头条小游戏qtt暂不支持
Web Desktopweb-desktopindex.ejs
Web Mobileweb-mobileindex.ejs
原生平台native暂不支持