如何调试发布或优化警告
本指南涵盖两种网站发布错误——发布错误和优化错误——及其解决策略。
1. 发布错误
如果发生发布错误,你会看到一个提示通知:
“由于页面上存在错误,发布失败。”
同时会提供一个 审查 按钮。
发布错误的常见原因
动态运行时错误:
站点编译器在等待组件构建时超时。
浏览器检查器中的示例错误:
ensureComponentsInLoader: Component loader not updated in time.解决方案:重试发布。如果问题持续,请修复或移除有问题的组件。
缺失的已使用组件:
由于文件重命名、函数重命名或加载错误,某个组件可能不再可用。
点击 审查 按钮将在图层面板中将缺失的组件高亮显示为灰色错误占位符。
解决方案:修复或替换缺失的组件。

2. 优化错误
什么是优化?
Framer 站点使用 React 构建。优化会在服务器端“预渲染”你的站点,确保访问者立即看到内容,而不是在 React 后台加载时看到空白页面。
在服务器端,无法获取访问者的某些信息(例如 cookie、窗口大小或语言等)。如果自定义代码组件(或覆盖)尝试访问这些信息,执行将会失败。此时,你会看到优化警告。
优化警告与错误
你可以在 设置 → 域名 或 设置 → 版本 中查看优化状态。

你可能会看到以下状态之一:
已优化:一切正常!
优化警告:站点已成功优化,但在优化过程中出现了问题。(通常意味着自定义代码组件或覆盖存在问题)
为什么这不好? 访问者在页面加载期间可能会看到部分内容缺失(由于自定义代码问题),或者站点的可访问性受到影响(如嵌套链接问题)。
优化错误:一个或多个页面未能成功优化
为什么这不好? 未优化的页面加载速度更慢,SEO 效果更差。从技术上讲:它们不会被服务器渲染、打包或压缩,并且核心网页指标表现更差。
常见原因:自定义代码组件或覆盖
依赖浏览器特定 API 的自定义代码(例如 window、document 或 navigator)在优化期间可能无法正常工作。这是因为 Framer 的服务器在没有浏览器环境的情况下预渲染页面,导致这些 API 不可用。
如果你的代码组件在服务端渲染期间尝试访问这些 API,Framer 将隐藏该组件,并在页面加载时尝试重新渲染。结果是,在页面加载期间页面的某部分会暂时缺失,这可能会让访问者感到困惑!
要修复自定义代码错误,请参考此指南:如何修复自定义代码优化错误
通过解决这些警告并利用 Framer 内置的工具,你可以提升站点性能、改善 SEO,并为访问者创造更好的体验。
如果你仍然遇到问题,请通过我们的 联系页面 与我们联系以获得进一步帮助。