Next JS 如何为页面设置自定义目录?(不是 src 或 root)

aiw*_*aiw 9 javascript next.js

我在 Next JS 中设置自定义目录时遇到问题。

\n

我知道默认情况下,pages 目录应该位于 root 或 src 目录中,但此选项不适合我,因为我无法将所有前端文件隐藏在一个目录中。

\n

相反,我想这样做:

\n
src\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 frontend\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 pages\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 index.tsx                         \n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 firstPage.tsx                     \n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 ...\n\xe2\x94\x82   \xe2\x94\x82   components\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 ...                   \n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 backend\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 ...   \n
Run Code Online (Sandbox Code Playgroud)\n

然而 Next JS 不允许我这样做,我不明白为什么,我尝试寻找这种可能性,例如:

\n
 "scripts": {\n    "dev": "next ./src/frontend",\n  },\n
Run Code Online (Sandbox Code Playgroud)\n

这可行,但仍然不是我所需要的。通过这种方法,next 直接在前端目录中创建 tsconfig、.next 等,这看起来很奇怪,我想将配置文件保留在根目录中。

\n

似乎由于某种原因,我无法在前端目录中包含页面目录,但我不知道这与什么有关。如果确实如此,你能告诉我为什么吗?

\n

小智 7

不幸的是,Next.js 官方似乎只支持./pages./src/pages目录。Tim 在 Github 上请求此选项的众多问题之一的评论中解释了他对此决定的观点,请参阅更多信息也可以在这里这里找到。

但是,您可能想查看此讨论,因为 Daniel 的 fork 可以选择在其他目录中查找页面。