Menu

devIndicators

devIndicators 允许你配置在开发过程中提供当前查看路由上下文信息的屏幕指示器。

Types
  devIndicators: false | {
    position?: 'bottom-right'
    | 'bottom-left'
    | 'top-right'
    | 'top-left', // defaults to 'bottom-left',
  },

devIndicators 设置为 false 将隐藏指示器,但 Next.js 仍会显示遇到的任何构建或运行时错误。

故障排除

指示器没有将路由标记为静态

如果你期望某个路由是静态的,但指示器将其标记为动态,很可能是该路由选择退出了静态渲染。

你可以通过使用 next build --debug 构建你的应用程序,并检查终端中的输出来确认路由是静态还是动态的。静态(或预渲染)路由将显示 符号,而动态路由将显示 ƒ 符号。例如:

Build
Route (app)                              Size     First Load JS
 /_not-found                          0 B               0 kB
 ƒ /products/[id]                       0 B               0 kB
 
  (Static)   prerendered as static content
ƒ  (Dynamic)  server-rendered on demand

路由可能选择退出静态渲染的两个原因:

  • 存在依赖于运行时信息的动态 API
  • 未缓存的数据请求,如对 ORM 或数据库驱动程序的调用。

检查你的路由是否存在这些条件,如果你无法静态渲染该路由,那么考虑使用 loading.js<Suspense /> 来利用流式传输