静态网站托管
云开发为开发者提供静态网页托管能力,支持 HTML、CSS、JavaScript、字体等静态资源的分发。底层基于腾讯云对象存储 COS 和全球 CDN 网络,为您的网站提供 高性能、高可用的访问体验。
适用场景:文件级操作
tcb hosting 是文件维度的操作工具,适合以下场景:
- 手动上传 / 同步静态文件(HTML、CSS、JS、图片、字体等)
- 纯静态内容,无构建流程(如文档站产物、设计稿导出页面)
- 需要精细控制云端文件路径
如果你的项目有构建步骤(React / Vue / Next.js / Vite / Angular / Nuxt 等前端框架),推荐使用 应用部署(tcb app deploy),它会自动完成安装依赖 → 构建 → 上传产物 → 绑定路由的完整流程。也可通过 tcb deploy 在 cloudbaserc.json 中配置 hosting 字段声明式部署多站点,见 声明式部署。
前置条件
在使用 CLI 操作静态网站服务前,请确保:
- 拥有腾讯云账号并完成实名认证
- 前往云开发平台,创建云开发环境
声明式部署(hosting 字段)
除了 tcb hosting 文件级命令,也可以在 cloudbaserc.json 中配置 hosting 字段,通过 tcb deploy 一键声明式部署一个或多个静态托管站点。声明式部署支持本地构建(对齐 Netlify):buildCommand 非空时自动执行 install + build 后上传产物;纯静态时直接上传。
| 属性 | 值 |
|---|---|
| 类型 | Array<Object> |
| 说明 | 静态托管应用配置数组,每个元素描述一个站点的构建与上传规则 |
子字段:
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
name | String | 是 | — | 应用名称,同一配置文件内应唯一 |
root | String | 否 | . | 项目根目录(相对 cloudbaserc 所在目录),用于 monorepo |
framework | String | 否 | static | 前端框架:react/vue/vite/vite-react/vite-vue/next/nuxt/angular/static/custom。未配置时自动读取 root/package.json 检测;static/custom 表示纯静态(不构建) |
installCommand | String | 否 | npm install | 安装命令;空字符串表示跳过安装 |
buildCommand | String | 否 | — | 构建命令:非空则本地构建后上传产物;空字符串/未配置且无法检测框架时跳过构建,直接上传 outputDir |
outputDir | String | 否 | dist | 构建产物目录(相对 root)。有构建时默认 dist;纯静态(无构建)时默认 root |
deployPath | String | 否 | / | 静态资源部署路径,多个 hosting 应使用不同路径 |
envVariables | Object | 否 | — | 构建时环境变量(非敏感) |
ignore | String/Array | 否 | — | 上传时忽略的文件/目录 glob 模式 |
示例:
{
"hosting": [
{
"name": "web",
"root": "./packages/web",
"framework": "vite",
"buildCommand": "npm run build",
"outputDir": "dist",
"deployPath": "/web"
}
]
}
补充说明
name:hosting 应用的唯一标识,被gateway.routes[].target: hosting:<name>引用root:相对cloudbaserc所在目录的路径,配合 monorepo 多包部署framework框架预设:react/vue:通用 React/Vue 项目,自动检测构建命令vite/vite-react/vite-vue:Vite 项目,默认npm run build,产物distnext/nuxt/angular:Next.js/Nuxt/Angular 项目,自动检测static/custom:纯静态(不构建),直接上传outputDir
installCommand:空字符串""跳过安装步骤(适用于已预装依赖或 monorepo)outputDir:相对root的路径;有构建时默认dist;纯静态默认rootdeployPath:上线后访问路径前缀,必须以/开头,多个 hosting 不可重复;与gateway.routes[].path对应envVariables:构建时注入到process.env,与app.envVariables是同一机制(非运行时环境变量)ignore:glob 模式,如["node_modules", "*.log", ".git", "dist"]