防止/pages文件夹内的某些组件成为NextJS中的路由

mefy6pfw  于 2022-12-12  发布在  其他
关注(0)|答案(3)|浏览(246)

由于我需要在NextJS中使用/about路由,因此我创建了以下文件夹结构:

...
 |
pages/
 |
 ├── about/
       |
       ├── index.js
       |
       ├── AboutContent.jsx

其中AboutContent.jsx只是帮助index.js完成部分逻辑的组件,问题是AboutContent.jsx已经变成了一条路由:/about/AboutContent .如何防止非index.js组件成为路由?

siotufzp

siotufzp1#

将其移出pages文件夹。
pages文件夹必须只有页面组件,其余组件可以放在src文件夹中。

|
pages/
 |
 ├── about/
       |
       ├── index.js
src/
 |
 ├── AboutContent.jsx

src文件夹导入AboutContent

s4n0splo

s4n0splo2#

您可以将测试文件或组件使用的其他文件放在pages目录中。

module.exports = {
  pageExtensions: ['page.tsx', 'page.ts', 'page.jsx', 'page.js'],
}

https://nextjs.org/docs/api-reference/next.config.js/custom-page-extensions

v64noz0r

v64noz0r3#

BETANext.js@13.0.x中,您可以将页面和组件移动到/app目录,同时将页面组件保留在/pages目录下。但跨/app/pages目录的路由不应解析为相同的URL路径。这可能会导致生成时异常。我建议您将您的Next.js升级到最新版本,并将所有页面放在/app目录中。

|
app/
 |
 ├── about/
       |
       |-- AbountContent.js
       ├── layout.js
       |-- page.js

 |
ui/
 |
 |-- BaseComponent.js

相关问题