NuxtJS SPA 模式(ssr false)仍然为 pages 文件夹中的每个 vue 文件生成 HTML
NuxtJS SPA mode (ssr false) still generates HTML for each vue file in the pages folder
Nuxt 文档(最新)指出,对于 SPA,您需要在 nuxt.config.js
中设置 ssr: false
。此外,页面文件夹中的每个 vue 文件都会添加到路由器配置中,因此您不必自己执行此操作。这既正确又完美,但有些地方我真的不明白。
当我 运行 npm run build
(nuxt-ts build) 时,它构建项目的生产输出并放入 dist
文件夹(默认)。我很惊讶地看到,即使我将它配置为 SPA,它仍然会为 pages
文件夹中的每个 vue 文件生成 HTML 个文件。
使用 npx nuxt-create-app
新生成的项目也会发生这种情况。
我期望的是,当 ssr
设置为 false
并且当我想要一个静态应用程序时,它只生成一个 HTML 文件(即索引)将使用 npm run generate
或将 target
设置为 'static'
来为每个路由创建 HTML 个文件。
Nuxt 文档还针对 target
属性:
说明了这一点
- https://nuxtjs.org/docs/2.x/get-started/commands#target-server-default-value(构建输出到 dist)
- https://nuxtjs.org/docs/2.x/get-started/commands#target-static(每条路线生成 HTML)
我的配置中只有 ssr 设置为 false,因此它不应该为每页生成静态文件 (HTML)。
我在这里缺少什么,或者我误解了它是如何工作的?
提前致谢!
请记住,在静态设置中,您的访问者可能会通过您的任何页面路由到达您的站点,而不仅仅是 index.html。
例如,他们可能会访问 https://www.your-app.com/contact-us。如果您没有可用的 contact-us.html 文件,并且您没有配置服务器来处理此请求(通用模式就是这种情况),您将得到 404。
在静态模式下发生的是接触-us.html 服务,其中包含滋润您的 nuxt 应用程序所需的最少 javascript, 然后 SPA 模式开始——为您提供客户端导航。
Nuxt 文档(最新)指出,对于 SPA,您需要在 nuxt.config.js
中设置 ssr: false
。此外,页面文件夹中的每个 vue 文件都会添加到路由器配置中,因此您不必自己执行此操作。这既正确又完美,但有些地方我真的不明白。
当我 运行 npm run build
(nuxt-ts build) 时,它构建项目的生产输出并放入 dist
文件夹(默认)。我很惊讶地看到,即使我将它配置为 SPA,它仍然会为 pages
文件夹中的每个 vue 文件生成 HTML 个文件。
使用 npx nuxt-create-app
新生成的项目也会发生这种情况。
我期望的是,当 ssr
设置为 false
并且当我想要一个静态应用程序时,它只生成一个 HTML 文件(即索引)将使用 npm run generate
或将 target
设置为 'static'
来为每个路由创建 HTML 个文件。
Nuxt 文档还针对 target
属性:
- https://nuxtjs.org/docs/2.x/get-started/commands#target-server-default-value(构建输出到 dist)
- https://nuxtjs.org/docs/2.x/get-started/commands#target-static(每条路线生成 HTML)
我的配置中只有 ssr 设置为 false,因此它不应该为每页生成静态文件 (HTML)。 我在这里缺少什么,或者我误解了它是如何工作的?
提前致谢!
请记住,在静态设置中,您的访问者可能会通过您的任何页面路由到达您的站点,而不仅仅是 index.html。
例如,他们可能会访问 https://www.your-app.com/contact-us。如果您没有可用的 contact-us.html 文件,并且您没有配置服务器来处理此请求(通用模式就是这种情况),您将得到 404。
在静态模式下发生的是接触-us.html 服务,其中包含滋润您的 nuxt 应用程序所需的最少 javascript, 然后 SPA 模式开始——为您提供客户端导航。