首页 > 解决方案 > 在构建时临时禁用 Next.js 页面

问题描述

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 构建中忽略页面而无需物理更改或删除项目中的页面组件文件?

标签: javascriptreactjsnext.jsserver-side-rendering

解决方案


您可以pageExtensionsnext.config.js.

// 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 ,以及此处给出的解决方案。这是迄今为止最令人满意的解决方案。


推荐阅读