Next JS中动态生成的静态页面

时间:2021-07-14 03:32:39

标签: next.js

先从相关的文件结构说起

pages
  |---[state]
  |      |----[city].tsx
  |---[state].tsx

我的目标是在位置 /[state] 和位置 /[state]/[city] 处动态呈现页面

当我运行构建时,/[state] 按预期生成,但是当它构建 [state]/city 时失败,因为 /[state]/ 现在是动态分配的目录,如 NorthCarolina/CharlotteFlorida/Orlando 并且抛出的错误是

Error occured prerendering page "/NorthCarolina/Charlotte"... ENOTDIR: not a directory, open 'NorthCarolina/Charlotte'

所以虽然这些错误看起来有点合理,但我正在努力弄清楚我应该如何动态生成我想要的所有这些页面。

我尝试了一个黑客解决方案,比如添加一个名为 NorthCarolina 的文件夹,看看是否能解决它,但没有成功。



发现这与我如何在 getStaticPaths 中写入文件和从 getstaticProps 中写入的文件中读取有关。仍在处理它,但问题与 next.js 功能无关。

1 个答案:

答案 0 :(得分:0)

这是给后代的答案。

问题是,当我在 fs.writeFile 中使用 getStaticPaths 时,我正在写信给不存在的 /tmp/Florida/Tampa。有效的是写入 /tmp/FloridaTampa

编码可能很痛苦。