项目打包要求

HTML、Node.js、Python 三种项目类型的压缩包规范与常见打包错误。

上传部署的项目必须打包为 .zip 压缩包。所有项目类型都受以下限制:

限制项要求
压缩包格式仅支持 .zip
压缩包大小≤ 200MB
解压后大小≤ 1GB
文件数量≤ 20,000

在部署页切换项目类型时,界面也会实时显示对应的打包要求,与本文一致。

HTML 静态网站#

适合纯前端页面、作品集、活动页和已构建完成的 SPA。

上传前必须确认:

  • index.html 位于压缩包根目录(解压后第一层就能看到)。
  • CSS / JS / 图片等资源使用相对路径。
  • 本地先预览一遍,确认没有资源 404。

正确的压缩包结构:

网站.zip
├─ index.html
├─ assets/
│  ├─ app.css
│  ├─ app.js
│  └─ logo.png
└─ favicon.ico

注意事项:

  • React / Vue / Vite 项目请上传 build 后的 dist 目录内容,不是源码。
  • 前端路由使用 history 模式时,需要自备静态回退方案(或改用 hash 路由)。

常见错误:

  • 把整个项目文件夹再包了一层——解压后第一层看不到 index.html,会导致部署失败。
  • .env、密码、私钥、数据库备份等敏感文件打进压缩包。

Node.js 项目#

适合 Express、Koa、Fastify 等常驻 HTTP 服务项目。

上传前必须确认:

  • package.json 位于根目录,生产依赖写入 dependencies
  • 入口默认为 app.js(可在部署时改成其它路径,如 src/server.js),且必须是常驻运行的服务。
  • 服务监听 0.0.0.0,并优先读取 process.env.PORT 作为端口。

正确的压缩包结构:

项目.zip
├─ package.json
├─ app.js              # 默认入口
├─ package-lock.json   # 建议保留
├─ public/
└─ src/

部署时平台会自动处理:

  • 自动执行 npm install(出于安全会禁用 lifecycle/install scripts)。
  • 自动复用服务器上现有的 Node 环境,缺失时安装受管 Node 24 LTS。

常见错误:

  • 上传本机的 node_modules(原生依赖可能与服务器不兼容,请让平台自动安装)。
  • 上传 .env、密钥、日志文件。
  • 入口是跑完即退出的脚本(如一次性任务),而不是常驻 HTTP 服务。

Python 项目#

适合 Flask、FastAPI 等常驻 HTTP 服务的 Python Web 项目。

上传前必须确认:

  • requirements.txt 位于根目录,写明依赖及版本。
  • 入口默认为 app.py(可在部署时改成其它路径,如 src/main.py),且必须是常驻运行的服务。
  • 服务监听 0.0.0.0,并优先读取环境变量 PORT 作为端口。

正确的压缩包结构:

项目.zip
├─ requirements.txt
├─ app.py              # 默认入口
├─ templates/
├─ static/
└─ src/

部署时平台会自动处理:

  • 依赖安装到项目专属目录,仅接受 binary wheel。
  • 使用服务器现有 Python 环境;配置的版本不存在时自动回退并给出提示。

常见错误:

  • 打包了 venv__pycache__ 或本机解释器。
  • 上传 .env、密钥、数据库文件。
  • 入口是跑完即退出的脚本,而不是常驻 HTTP 服务。

下一步#

压缩包准备好后,请继续阅读部署第一个网站了解完整部署流程。