devIndicators
devIndicators 允许你在开发过程中配置屏幕指示器,该指示器会提供你正在查看的当前路由的上下文。
类型
devIndicators: false | {
position?: 'bottom-right'
| 'bottom-left'
| 'top-right'
| 'top-left', // defaults to 'bottom-left',
},将 devIndicators 设置为 false 将会隐藏指示器,但 Next.js 将继续显示遇到的任何构建或运行时错误。
故障排除
指示器未将路由标记为静态
如果你预期某个路由是静态的,但指示器将其标记为动态的,则该路由可能已选择退出静态渲染。
你可以通过使用 next build --debug 构建你的应用程序,并检查终端输出,来确认路由是静态还是动态。静态(或预渲染)路由将显示 ○ 符号,而动态路由将显示 ƒ 符号。例如:
构建输出
Route (app)
┌ ○ /_not-found
└ ƒ /products/[id]
○ (Static) prerendered as static content
ƒ (Dynamic) server-rendered on demand路由可能选择退出静态渲染的原因有两个:
- 存在依赖运行时信息的动态 API。
- 未缓存的数据请求,例如对 ORM 或数据库驱动程序的调用。
检查你的路由是否存在这些条件中的任何一个,如果你无法静态渲染该路由,那么考虑使用loading.js或<Suspense />来利用流式传输。
版本历史
| 版本 | 更改 |
|---|---|
v16.0.0 | appIsrStatus、buildActivity 和 buildActivityPosition 选项已移除。 |
v15.2.0 | 通过新增 position 选项改进了屏幕指示器。appIsrStatus、buildActivity 和 buildActivityPosition 选项已弃用。 |
v15.0.0 | 通过 appIsrStatus 选项添加了静态屏幕指示器。 |
这有帮助吗?