Nuxt pre-rendering命令无法生成静态路由

问题描述 投票:0回答:1

在将Nuxt设置为spa模式的情况下,npm run generate应该为每个静态路由自动生成一个html文件(意味着为.vue文件夹中存在的每个pages/文件创建一个文件。

对我来说不是。它仅生成一个200.html文件(我不知道该文件用于什么意思),但没有其他内容,甚至index.html

有任何建议吗?

[注意:奇怪的是,如果我在配置文件中添加以下代码,则可以使动态路由生成有效,在这种情况下,将为每个动态路由生成一个html文件,但仍然没有静态路由,也没有[ C0] ...

index.html

此外,如果我将路由器设置为generate: { routes: () => axios.get('http://example.com/wp/wp-json/projects/v1/posts') .then(res => res.data.map((project) => `/project/${project.ID}/${project.post_name}`)) }, 模式,那么我会得到hash文件,但不会生成静态或动态路由(尽管该应用程序可以运行。

vue.js routing nuxt
1个回答
0
投票

我无法通过运行index.html创建的新项目来重现此行为。另外,我能够以SPA模式添加新页面,并由npx create-nuxt-app <project-name>生成它。

仔细检查您的项目配置,确保您使用的是最新版本的nuxt,如果问题仍然存在,请提供一个再现该问题的最小示例。

关于nuxt generate文件,这是200.html

运行SPA时,使用200.html更为惯用,因为它是唯一的必需文件,因为不会生成其他路由。

我无法确认,但这暗示您没有生成fallback page的问题,因为据此,index.html是SPA模式下唯一需要的文件。

最后,您真正追求的是SPA模式吗?通常,这些应用程序只有一个HTML文件,并且都是客户端渲染的。在我看来,您是在200.html之后,其模式设置为nuxt generate,它将为静态托管呈现所有静态路由和所有提供的动态路由。

© www.soinside.com 2019 - 2024. All rights reserved.