如何在 Nuxt 3 上部署并生成静态站点

Luc*_*cas 8 deployment nuxt.js nuxtjs3

您好,我正在 Nuxt 上创建网站,并且我已经在 Nuxt 3 上创建了一个新应用程序。但是我在部署方面遇到了问题,“正常服务器”没有像 Nuxt 2.x 那样的“正常”构建。

我正在使用“Lamdba”预设。 https://v3.nuxtjs.org/docs/deployment/presets/lambda

// nuxt.config.ts

import { defineNuxtConfig } from 'nuxt3'

// https://v3.nuxtjs.org/docs/directory-structure/nuxt.config
export default defineNuxtConfig({
  // Global page headers: https://go.nuxtjs.dev/config-head

  nitro: {
    preset: 'lambda'
  },

  head: {
    title: 'Title',
    meta: [
      { charset: 'utf-8' },
      { name: 'viewport', content: 'width=device-width, initial-scale=1' }
 
      
    ],
    link: [
      { rel: 'icon', type: 'image/png', href: '/favicon.png' }
    ],
  script: [
    {  
      type: 'text/javascript', 
      src: '/mana.js',
  }
]
},
})
Run Code Online (Sandbox Code Playgroud)

在 Nuxt 2.x 上我使用了这个:

// nuxt.config.js

export default {
  // Disable server-side rendering: https://go.nuxtjs.dev/ssr-mode
  ssr: false,

  // Target: https://go.nuxtjs.dev/config-target
  target: 'static'
}
Run Code Online (Sandbox Code Playgroud)

我应该在 Nuxt 3 上使用什么配置才能在所有服务器的根目录下使用 index.html 文件进行“正常”导出?

Ans*_*ari 5

请使用生成脚本,这样yarn generate将创建.output/public并且输出将取决于ssr: boolean属性nuxt.config.ts

如果ssr是 true (默认情况下),那么每个动态路由都会有单独的 html,这意味着动态路由在构建时呈现,并且每当数据或动态路由数量发生变化时,您将需要再次运行此命令。

如果ssr为 false,则渲染将在客户端完成,就像 SPA 应用程序一样,动态路由将只有一个文件来进行客户端渲染,并且数据将在客户端获取,这样站点将显示最新数据。

检查静态托管


Luc*_*cas -7

静态部署目前不适用于 Nuxt 3

  • 通过额外的支持信息可以改进您的答案。请[编辑]添加更多详细信息,例如引文或文档,以便其他人可以确认您的答案是正确的。您可以[在帮助中心](/help/how-to-answer)找到有关如何写出好的答案的更多信息。 (3认同)