如何使用回退构建nextjs:true-enable



我找不到任何关于在启用回退:true的情况下部署nextjs需要做什么的示例。

使用export会抛出一个错误,即如果启用了fallback:true,则无法以这种方式导出。

如果我使用npm run build,它似乎不会生成out文件夹。

我如何运行构建并生成带有回退的输出文件夹:在我的应用中启用true

netlify.toml[构建]command=";npm运行构建&npm运行导出";publish=";out";

package.json"脚本":{"dev":"下一个dev";,"build":"下一次构建";,"开始":"下一次开始";,"导出":"下一次出口";},

您不能使用npm run build生成静态"out"文件夹(即静态html文件(。这是因为启用了回退,你的网站变成了"非静态"。所以它只能部署在运行NodeJS的服务器上。您可以用node start启动服务器,也可以实现自己的NodeJS服务器。这是关于SSG\SSR的一个最大误解。更多信息,请访问https://nextjs.org/docs/advanced-features/static-html-export

如前所述,如果使用fallBack: true,则不能使用next export;如果有大量动态页面,则最好将应用程序托管在任何node.js服务器上,并使用next start。静态HTML导出(文件夹外(只有在不经常添加新页面时才有用

其他帖子没有解释为什么它不起作用。

如果将fallback作为true,则意味着您有具有动态路由(path/[pid].js(的页面,并且不希望预呈现所有页面。您希望在没有数据的情况下加载某些页面,可能是因为您希望手动加载数据。

当您使用NextJS的export时,它会创建一个没有支持后端的静态应用程序,以便该应用程序可以在静态主机上提供服务。

对于每个预渲染路径,NextJS将生成一个目录结构来匹配预渲染路径。

如果您有:product/1product/2product/3,然后NextJS将创建这些目录。

但是,如果您的路由没有像product/4那样预先呈现,那么NextJS将不会创建该目录,那么当用户打开浏览器到exmample.com/product/4时,它将404!

最新更新