小伙伴发我一个 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复刻曾经很火的割绳子游戏?

相关推荐
凌风的跨境分享17 分钟前
Temu店群运维提效:定时策略自动化任务全场景实操指南
大数据·运维·前端·人工智能·架构·自动化
linux_cfan39 分钟前
videojs v10 源代码系列解读:06 · DOM 工具箱:事件、聚焦、Shadow DOM、定位
前端
尾善爱看海1 小时前
Vue 面试进阶篇:Composition API、插槽、自定义指令……8 个章节 + 高频面试题全解析
前端·javascript·vue.js·面试·vue
SEO_juper1 小时前
外贸多语言站最隐蔽的流量杀手:hreflang 错了,谷歌把德语页推给美国人(附审计脚本)
开发语言·前端·python·seo·独立站·谷歌优化
亿元程序员1 小时前
为什么现在 AI 这么发达了,还要坚持手搓教程?
前端
三小河2 小时前
在 Codex 桌面端接入 DeepSeek 模型(CC Switch 代理中转)
前端·javascript·人工智能
CoderYanger2 小时前
前端基础——JavaScript(WebAPI)代码案例
java·开发语言·前端·javascript·css·前端框架·html5
恋猫de小郭2 小时前
Shopify 从 React Native 回到 Swift/Kotlin,但是你以为有手就行??
android·前端·ios
BillKu3 小时前
Element Plus 的 el-tab-pane:lazy 的说明
前端·javascript·vue.js
爱勇宝3 小时前
《道德经》第 11 章:真正有用的,常常是你没写出来的那部分
前端·后端·产品