本页提供了有关 App Hosting 的常见问题解答 (FAQ)。
App Hosting 常见问题解答
一般 App Hosting 限制和问题排查
- App Hosting 的 CDN 只能在其缓存键中包含一组特定的请求标头。该列表包含 NextJS 的
RSC、Next-Router-State-Tree、Next-Router-Prefetch、Next-Router-Segment-Prefetch和Next-Url标头,以及 Cloud CDN 的标准Accept、Accept-Encoding、Access-Control-Request-Headers、Access-Control-Request-Method、Origin、Sec-Fetch-Dest、Sec-Fetch-Mode、Sec-Fetch-Site、X-Goog-Allowed-Resources和X-Origin。如果响应包含Vary标头,但其值未在此处列出,我们的 CDN 将不会缓存该响应。 - 未缓存的静态文件会从 Cloud Run 中提供;在后续版本中,这些文件将存储在 App Hosting 源中并从该源提供,以提高性能。
- Firebase 控制台可能会在后端创建过程中间歇性地显示“build was not found and is invalid”(找不到 build,且 build 无效)错误。
- 同一项目中的所有后端共享一个 GitHub 组织/账号。 它们可以连接到相应组织/账号下的不同代码库。 如需创建连接到不同 GitHub 账号的后端,请将它们放在不同的项目中。
Angular 应用限制和问题排查
虽然 App Hosting 对 Angular 的支持正在积极开发和扩展,但仍存在以下限制:
- I18n:虽然核心 I18n 功能可以正常运行,但直接导航到 SSR 页面可能会导致错误。
- 本地化:不支持为不同语言区域构建版本。
- 构建器:目前仅支持应用构建器。
- 环境和 Monorepo 工具:如果 Angular 项目包含多个应用目标,则会失败。如需更完善的 monorepo 支持,请使用 Nx。
Next.js 限制和问题排查
- 默认情况下,除非您明确将
images.unoptimized设置为 false 或使用自定义图片加载器,否则 App Hosting 会停用内置 NextJS 图片优化。请参阅优化 Next.js 中的图片加载。 - 包含百分比编码字符的网址路径由 Cloud Run 解码。这可能会导致仅需要编码后的网址路径的功能出现问题,例如 Next.js 并行路由。
- 目前,App Hosting 会限制使用中间件的 NextJS 应用的缓存。随着时间的推移,缓存命中率应该会提高。
- 包含百分号编码字符的网址路径会由 Cloud Run 解码。这可能会导致仅需要编码网址路径的功能出现问题,例如 Next.js 并行路由