暂时禁用 Next.js 个构建页面

Temporary disable Next.js pages on build

Next.js 项目中的多个页面存在与 SSR 相关的问题,导致 npm run build 上出现错误并阻止构建项目:

pages/
  foo/
    bar/
      [id].jsx
      index.jsx
    index.jsx
  ...

例如,bar:

export function getStaticProps() {
  return someApiCallThatCurrentlyFails()
  ...
}

export default function Bar() {...}

作为快速修复,不构建 bar/*.* 页面并使路由不可用可能会很方便。

可以在 Next.js 构建时忽略页面而不物理更改或删除项目中的页面组件文件吗?

您可以在 next.config.js 中配置 pageExtensions

// next.config.js
module.exports = {
  pageExtensions: ["page.js"],
}

配置此后,只有页面 with *.page.js 将在下面给定的目录结构中考虑。

pages/
├── user
│   └── setting
│       ├── index.js
├── _app.page.js
├── _document.page.js
├── list.page.js
└── theme.ts

自定义文件忽略尚不支持的模式。您可以访问PR created here, and the solution given here。这是目前为止最满意的解决方案。