求助:无法解决Builder.io中的Preview Load Error预览加载错误
很多开发者在集成Builder.io和Next.js时都遇到过这个预览加载错误,以下是一些最容易踩的坑:
API密钥配置失误
检查.env.local中的BUILDER_API_KEY是否和Builder.io后台的密钥完全一致,注意不要带多余空格、大小写错误。修改环境变量后必须重启Next.js开发服务,否则新配置不会生效。预览路由逻辑缺失或错误
Pages Router下要确保pages/[...page].js里的getStaticProps正确处理了预览参数,比如通过builder.isPreviewing(req)判断并获取预览内容;App Router则要在app/[...page]/page.js中正确调用builder.getContent并传入预览相关参数,遗漏这些逻辑会导致预览无法加载。跨域(CORS)拦截
本地开发时浏览器可能拦截Builder的预览请求,检查next.config.js是否配置了允许Builder域名的CORS规则,或者确认本地服务器端口和Builder后台设置的预览URL端口一致,避免跨域问题。依赖版本不兼容
@builder.io/react、@builder.io/next和next的版本必须匹配,比如Next.js 13+ App Router需要使用支持App Router的Builder包版本,旧版本包可能不兼容新路由系统,直接导致预览失败。页面组件未正确关联Builder模型
确认Builder.io后台的页面模型已关联你的Next.js页面组件,且代码中BuilderComponent的model属性值和后台模型名称完全一致,比如后台模型叫「page」,代码里就必须写model="page"。预览URL配置错误
去Builder.io后台「Settings」→「Preview URL」确认地址是本地开发服务器的正确地址(比如http://localhost:3000),如果用了自定义端口要同步修改,同时确保本地服务器处于运行状态,Builder能正常访问到你的应用。
内容的提问来源于stack exchange,提问作者tidydee

