小伙伴发我一个 1G 的 Cocos 项目,assets 只有几十兆

引言

哈喽大家好,我是亿元程序员,一位有着 8 年游戏行业经验的主程。

最近私信里出现频率最高的,不是报错截图,是压缩包。

亿哥,工程打不开了,我把项目打包发给你看看。

接着弹进来一个文件

下完 解压,assets 才几十兆。剩下全是 librarytempbuild

都不知道说过多少次了:

librarytempbuild不要打包,不要打包,不要打包!

看来 还是有很多小伙伴对 Cocos 的工程目录不了解,导致发给别人的不是工程,而是一个流量炸弹。

言归正传,本期跟着笔者来看看 Cocos 的项目结构是怎样的,怎么打包最简便。

本文示例工程在文末获取,小伙伴们自行前往。

Cocos 项目里,这些文件夹到底是干什么的?

一个 Cocos Creator 3.x 工程,怎么才能被编辑器识别?

最低配置 其实就两样:assets + package.json

打开之后 ,它还会自己生成 librarytemplocal,看起来都像项目的一部分,其实分两种:

  • 你写出来的:源码、资源、配置。丢了就没了。
  • 编辑器生成的:缓存、临时文件、构建产物。删了再打开或者重新构建,它自己会再生成。

流量炸弹通常就出在第二种,打包五分钟,下载两小时。

1. 必须带走(别人才能打开)

路径 人话
assets/(含全部 .meta 最重要,日常 99% 在这里干活
package.json 项目标识文件,引擎靠它识别这是 Cocos 项目
settings/ 项目设置,通常是分组等配置,极限可忽略
tsconfig.json TS 语法 / 类型配置,极限可忽略

2. 不要打包(删了还能再生成)

路径 为什么能扔
library/ 导入缓存,打开工程会重建,通常最大
temp/ 临时文件
local/ 你的窗口布局,带去只会污染别人编辑器
build/ 构建产物,那是「发布包」不是「源工程」
node_modules/ .git/ 依赖(要保留声明)和版本库,别塞进分享包

3. 根据具体情况(都行)

路径 干嘛的
extensions/ 项目自己的扩展,有则留
profiles/ 构建配置、编辑器通用配置
native/ 原生部分内容,如果有需要保留
.gitignore git 忽略清单
.codex/ .cursor/ .claude/ AI 编程工具(Codex / Claude Code / Cursor )的中间产物

以上就是 Cocos 3.8.7 的核心目录讲解,小伙伴们可以通过官方文档深入了解。

总结

分类 建议内容
最低识别条件 assets/、package.json
精简工程默认保留 assets/、settings/、package.json、tsconfig.json
按项目保留 extensions/、profiles/、native/、依赖锁文件、项目自定义文件
默认排除 library/、temp/、local/、build/、node_modules/、.git/
检查后决定 .codex/、.cursor/、.claude/ 及包含账号、密钥、本机路径的配置

那怎么打包最简便?

目录搞懂了,压缩就三步:必须带走的留下,不要打包的扔掉,剩下的按情况取舍。

1. 方法一:手动删除后压缩

了解每个目录的作用之后,我们就可以手动打包了:

  1. 关掉 Creator,避免文件占用。
  2. 复制一份工程,避免误删。
  3. 必删librarytemplocalbuildnode_modules
  4. 选删profilesnative、没有用到的扩展,按上一节自行决定。
  5. 右键剩余内容打 zip,发给别人。

2. 方法二:压缩后再删除

有个小技巧比方法一安全:

  1. 先打 zip
  2. 打开 zip 删掉不要的

但是问题来了:这事你会,但你会烦。

  • 每打包一次,就重复一次。
  • 手滑删了 assetspackage.json,工程直接废。
  • 漏删一个 library,zip 又回到快 1G,打包五分钟,下载两小时。

3. 方法三:一键导出精简工程 ZIP

重复性工作就不该靠记忆力。于是我写了一个扩展。

怎么用?

菜单栏项目导出精简工程 ZIP选保存位置保存。

默认 文件名是 {项目名}-min.zip。解压出来是一个完整工程文件夹,对方用同版本 Creator 打开即可。

流程就四步:

  1. 读当前打开工程的根目录(Editor.Project.path)。
  2. 根目录下,只扫描白名单里的文件夹和文件。
  3. 递归打包时,遇到排除名单里的目录名,直接跳过。
  4. 写 zip,根目录用项目名包一层,避免解压后文件散落。

核心代码比较简单

效果就是:原来打包五分钟、下载两小时;现在核心几十兆,微信里传完就能开。

插件放哪?

路径如下:

text 复制代码
%USERPROFILE%\.CocosCreator\builtin-extensions\3.8.7\export-min-project

Windows 举例:

text 复制代码
C:\Users\你的用户名\.CocosCreator\builtin-extensions\3.8.7\export-min-project

放进去之后:

  1. 完全退出 Creator,再重新打开。
  2. 打开任意工程,菜单 项目 里就能看到 导出精简工程 ZIP

为什么放这里? 前面的文章讲过, %USERPROFILE%\.CocosCreator\builtin-extensions\3.8.7\ 是 Creator 3.8.7 的用户级内置扩展目录。放进去后,所有 3.8.7 工程都能用,不用每个项目拷一份。

当然也可以只给单个项目用 :把 export-min-project 文件夹放到该工程的 extensions/ 目录下,只对当前项目生效。

结语

问题来了,小伙伴们收到/给出的最大的工程包多大? 评论区告诉大家你的数字。

本文实例工程 可通过私信 发送"打包工程"获取。

更多实战完整源码包含编辑器 已集成到亿元Cocos小游戏实战合集(已完结),感谢小伙伴们对创作的支持。


我是"亿元程序员",一位有着8年游戏行业经验的主程。在游戏开发中,希望能给到您帮助,也希望通过您能帮助到大家。

实不相瞒,想要个爱心 !请把该文章分享给你觉得有需要的其他小伙伴。谢谢!

推荐文章:

亿元Cocos小游戏实战合集2.0

亿元Cocos小游戏实战合集1.0

老板说最近这款游戏很火让我抄,可是我连玩都玩不明白...

这款值68亿的游戏,你不实战一下吗?安排!

小伙伴说我的拼图游戏用Mask不能合批...

俄罗斯方块谁不会做......啊?流沙版?

最近很火的一个拼图游戏,老板让我用Cocos3.8做一个...

老板说拼图游戏太卷了,让我用Cocos做个3d版本的...

敢不敢挑战用Cocos3.8复刻曾经很火的割绳子游戏?

相关推荐
paopaokaka_luck2 小时前
基于springboot3+vue3的文山民族文化资源展示与推广平台(协同过滤算法、Echarts 图形化分析)
java·前端·spring boot·学习·echarts
临江仙4552 小时前
同一个 AI Agent 如何同时服务 Web、微信和 QQ:PureChat 的渠道架构实践
前端·人工智能·后端
程序员鱼皮2 小时前
16 个超火的 DeepSeek Harness 插件,大肥鱼已经落后 N 个版本了。。。
前端·后端·ai编程
马可家的菠萝2 小时前
AI Agent Demo 10 分钟就能跑,真正难的是让它 200 个场景都别乱来
前端·后端·aigc
Vuji2 小时前
Pi 插件解剖|summarize.ts:199 行,给 Agent 的对话做一份 Markdown 总结
前端·人工智能·agent
逻辑帧2 小时前
给 AI 时代找工作的同学一些实用建议
前端·后端
蜡台3 小时前
Jetpack Compose 从入门到精通
android·前端·kotlin·compose·jepack
学习星球3 小时前
Astro 全栈实战:拆解 RealWorld 项目
前端·javascript·架构·系统架构·前端框架·c5全栈
软件开发JR4 小时前
基于Web的足球青训俱乐部管理后台系统的设计与开发
java·前端·spring boot·毕业设计