我有一个Next.js(版本13.4.5)应用程序,它具有动态路由/blog/[slug]
。我希望将应用程序导出为静态网站。下面是目录结构:
/app
/blog
/[slug]
page.jsx
page.jsx
layout.jsx
globals.css
...
next.config.js
的含量:
const nextConfig = {
output: 'export',
trailingSlash: true,
}
module.exports = nextConfig
运行npm run build
命令后,在/out
目录下生成的文件如下:
/out
/.next
/404
/blog
index.html
index.txt
404.html
index.html
index.txt
...
路由/blog/[slug]
没有生成.html文件,与官方文件中描述的不一样:
当运行下一个构建时,Next.js将静态导出生成到out文件夹中。不再需要使用下一个导出。例如,假设您有以下路由:
/
/blog/[id]
运行下一次构建后,Next.js将生成以下文件:
/out/index.html
/out/404.html
/out/blog/post-1.html
/out/blog/post-2.html
在以前的版本中,我可以使用getStaticPaths
和getStaticProps
来预渲染页面。但这些方法在新的应用程序路由器的新版本中不受支持。
如何在新版本中生成.html文件(“下一步”:“13.4.5”,),用于路由/blog/[slug]
?
1条答案
按热度按时间x3naxklr1#
您需要使用generate-static-params