跳到内容

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.0appIsrStatusbuildActivitybuildActivityPosition 选项已移除。
v15.2.0通过新增 position 选项改进了屏幕指示器。appIsrStatusbuildActivitybuildActivityPosition 选项已弃用。
v15.0.0通过 appIsrStatus 选项添加了静态屏幕指示器。