Nuxt3 的 SSR 、SSG以及部署

本文介绍了Nuxt3中服务器端渲染(SSR)和静态站点生成(SSG)的特点,包括SSR的首载速度、SEO优势和性能提升,以及SSG的加载速度、缓存支持和成本节省。还讨论了如何使用Node.js服务器、Nitro预设和PM2进行部署,以及集群模式的使用方法。
摘要由CSDN通过智能技术生成

Nuxt3支持两种主要的静态站点生成(SSG)和服务器端渲染(SSR)方式,这两种方式都有各自的优势

服务器端渲染(SSR)

nuxt build
  • 更快的首次加载时间:SSR 可以在服务器端直接渲染出页面的 HTML,减少了客户端渲染的时间。 更好的
    SEO:搜索引擎可以直接获取到渲染完成的 HTML 页面,提高了网站的搜索排名。
  • 更好的性能表现:对于大型网站,SSR 可以减轻客户端的负担,提高页面的渲染性能。

静态站点生成(SSG)

npx nuxi generate
  • 更快的加载速度:SSG 可以在构建时生成静态 HTML 文件,减少了服务器和客户端的压力,提高了页面加载速度。
  • 更好的缓存和CDN支持:静态文件可以更好地进行缓存和CDN分发,提高了网站的可靠性和可扩展性。
    更低的服务器成本:不需要动态服务器渲染,减少了服务器成本。

部署

Node.js 服务器

发现使用 Nitro 预设的 Node.js 服务器,以部署在任何 Node 托管上。

  • 如果未指定或自动检测,则默认输出格式
  • 仅加载所需的块来呈现最佳冷启动时序的请求
  • 对于将 Nuxt 应用程序部署到任何 Node.js 托管非常有用
入口点

当使用 Node 服务器预设运行时nuxt build,结果将是启动准备运行的 Node 服务器的入口点。
终端

node .output/server/index.mjs

这将启动默认侦听端口 3000 的生产 Nuxt 服务器。
它尊重以下运行时环境变量:

  • NITRO_PORT或PORT(默认为3000)
  • NITRO_HOST或HOST(默认为’0.0.0.0’)
  • NITRO_SSL_CERT并且NITRO_SSL_KEY- 如果两者都存在,这将以 HTTPS
    模式启动服务器。在绝大多数情况下,除了测试之外,不应将其用于其他用途,并且 Nitro 服务器应在终止 SSL 的反向代理(例如
    nginx 或 Cloudflare)后面运行。
PM2

PM2 (Process Manager 2) 是一种快速、简单的解决方案,用于在服务器或虚拟机上托管 Nuxt 应用程序。
要使用pm2,请使用ecosystem.config.cjs

module.exports = {
  apps: [
    {
      name: 'NuxtAppName',
      port: '3000',
      exec_mode: 'cluster',
      instances: 'max',
      script: './.output/server/index.mjs'
    }
  ]
}
集群模式

使用Node.js集群 NITRO_PRESET=node_cluster模块来利用多进程性能。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值