首页 > 其他分享 >Nuxt 3.2.0 正式发布

Nuxt 3.2.0 正式发布

时间:2023-03-07 18:55:40浏览次数:56  
标签:正式 渲染 页面 SSR 3.2 Nuxt 服务端 客户端

Nuxt 3.2.0 正式发布

原创2023-02-16 07:30·Echa攻城狮

 

大家好,我是Echa。

好消息,2023年2月8日Nuxt官方正式发布v3.2.0版本。距离Nuxt v3.1.0正式版(2023年1月27日),详细请见这篇文章:Nuxt 3.1.0 正式发布,相距只有短短12天时间。小编在Github上看到Nuxt开发团队没日没夜的在维护修改提交新版本,同时兼容其他底层扩展组件,Nuxt团队非常给力。

Nuxt 介绍

官网地址:https://nuxt.com/

在线演示:
https://nuxt.com/docs/examples/essentials/hello-world

Github:https://github.com/nuxt/nuxt

Nuxt 是易懂的 Web 框架,用于构建现代和高性能的 Web 应用,可以部署在任何运行 JavaScript 的平台上。

使用Nuxt自信地构建下一个Vue.js应用程序。一个在MIT许可下的开源框架,使web开发简单而强大。

Nuxt提供前端和后端功能,因此您可以专注于重要的事情:创建您的web应用程序。

 

什么是SSR?

SSR 就是 服务器渲染,什么是 服务器渲染?由 服务器 组装好 DOM 元素,生成 HTML 字符串给到浏览器,也就是在浏览器里面是可以看到整个页面的 DOM 源码的。

SSR 解决的问题:

SEO:搜索引擎的优先爬取级别是页面的 HTML 结构,当我们使用 SSR 的时候,服务端已经生成了与业务相关联的 HTML,这样的信息对于 SEO 是很友好的。

内容呈现:客户端无需等待所有的 JS 文件加载完成即可看见渲染的业务相关视图(压力来到了服务端这边,这也是需要做权衡的地方,需要区分哪些由服务端渲染,哪些可以交给客户端)。

SSR 相关的弊端:

代码兼容:对于开发人员来讲,需要去兼容代码在不同环境的运行 Vue SSR 所需要的服务端环境是 Node,有一些客户端的对象,比如 dom、windows 之类的则无法使用。

服务器负载:相对于前后端分离模式下服务器只需要提供静态资源来说,SSR 需要的服务器负载更大,所以在项目中使用 SSR 模式要慎重,比如一整套图表页面,相对于服务端渲染,可能用户不会在乎初始加载的前几秒,可以交由客户端使用类似于骨架屏,或者懒加载之类的提升用户体验。

Vue 与 Vue SSR 与 原生HTML 页面源码区别对比,在网页上右键查看源码:

Vue SSR 与 原生HTML 是可以看到源码标签的

在认识SSR之前,首先对CSR与SSR之间做个对比。

首先看一下传统的web开发,传统的web开发是,客户端向服务端发送请求,服务端查询数据库,拼接HTML字符串(模板),通过一系列的数据处理之后,把整理好的HTML返回给客户端,浏览器相当于打开了一个页面。这种比如我们经常听说过的jsp,PHP,aspx也就是传统的MVC的开发。

SPA应用,到了Vue、React,单页面应用优秀的用户体验,逐渐成为了主流,页面整体式javaScript渲染出来的,称之为客户端渲染CSR。SPA渲染过程。由客户端访问URL发送请求到服务端,返回HTML结构(但是SPA的返回的HTML结构是非常的小的,只有一个基本的结构,如第一段代码所示)。客户端接收到返回结果之后,在客户端开始渲染HTML,渲染时执行对应javaScript,最后渲染template,渲染完成之后,再次向服务端发送数据请求,注意这里时数据请求,服务端返回json格式数据。客户端接收数据,然后完成最终渲染。(请求两次,百度搜索引擎不能抓取SPA页面的数据)

SPA虽然给服务器减轻了压力,但是也是有缺点的:

首屏渲染时间比较长:必须等待JavaScript加载完毕,并且执行完毕,才能渲染出首屏。

SEO不友好:爬虫只能拿到一个div元素,认为页面是空的,不利于SEO。

为了解决如上两个问题,出现了SSR解决方案,后端渲染出首屏的DOM结构返回,前端拿到内容带上首屏,后续的页面操作,再用单页面路由和渲染,称之为服务端渲染(SSR)。

SSR渲染流程是这样的,客户端发送URL请求到服务端,服务端读取对应的url的模板信息,在服务端做出html和数据的渲染,渲染完成之后返回html结构,客户端这时拿到的之后首屏页面的html结构。所以用户在浏览首屏的时候速度会很快,因为客户端不需要再次发送ajax请求。并不是做了SSR我们的页面就不属于SPA应用了,它仍然是一个独立的spa应用。

SSR是处于CSR与SPA应用之间的一个折中的方案,在渲染首屏的时候在服务端做出了渲染,注意仅仅是首屏,其他页面还是需要在客户端渲染的,在服务端接收到请求之后并且渲染出首屏页面,会携带着剩余的路由信息预留给客户端去渲染其他路由的页面。

Nuxt.js是特点(优点):

  • 基于Vue
  • 自动代码分层
  • 服务端渲染
  • 强大的路由功能,支持异步数据
  • 静态文件服务
  • EcmaScript6和EcmaScript7的语法支持
  • 打包和压缩JavaScript和Css
  • HTML头部标签管理
  • 本地开发支持热加载
  • 集成ESLint
  • 支持各种样式预编译器SASS、LESS等等
  • 支持HTTP/2推送

缺点

  • 对于服务器要求比客户端渲染高

如下图:

 

 

小编带着大家先回顾一下Nuxt v3.0正式版更新了哪些内容:

  • 更轻量:以现代浏览器为目标的服务器部署和客户端产物最多可缩小 75 倍
  • 更快:基于 nitro 提供动态代码分割能力,以优化冷启动性能
  • Hybrid:增量静态生成和其他的高级功能现在都成为可能
  • Suspense:在任意组件和导航前后都可以获取数据
  • Composition API:使用 Composition API 和 Nuxt 3 的 composables 实现真正的代码复用
  • Nuxt CLI:没有任何依赖,帮你轻松搭建项目和集成模块
  • Nuxt Devtools:通过直接在浏览器中查看信息和快速修复实现更快地工作
  • Nuxt Kit:具有 Typescript 和跨版本兼容性的全新模块开发
  • Webpack 5:更快的构建时间和更小的包大小,无需配置
  • Vite:使用 Vite 作为打包工具,体验闪电般快速的 HMR
  • Vue 3:Vue 3 是你下一个 Web 应用程序的坚实基础
  • TypeScript:使用原生 TypeScript 和 ESM 构建,无需额外步骤

 

下面就来看看 Nuxt v3.1.0 都有哪些更新:

  • 文档改进
  • 实验性的岛屿组件和 服务器组件(目前不支持异步)
  • 新增 API onNuxtReady,useNuxtData、useSeometa
  • 实验性的 config schema
  • 升级到 Nitropack v2
  • 升级到 Vite4 和 Rollup3

 

 

接着 Nuxt v3.2.0 都有哪些更新:

  • Nuxt DevTools 支持可视化项目、页面、组件、模块、Hooks 等等信息。
  • 更好的DX用于重写runtimeConfig,包括内联类型助手
  • 根据方法自动推断useFetch和$fetch的返回类型。
  • useFetch现在已与事件集成$fetch,这意味着cookie和上下文现在在内部请求中自动传递给api请求。
  • 新增treeshakeClientOnly特性,更有效地构建了服务器外的treeshake客户端组件
export default defineNuxtConfig({
  experimental: {
    treeshakeClientOnly: false
  }
})
  • 新增addRouteMiddleware工具包实用程序
  • 兼容Nitropack v2.2版本

具体如下:

 

 

 

 

最后

一台电脑,一个键盘,尽情挥洒智慧的人生;几行数字,几个字母,认真编写生活的美好;

一 个灵感,一段程序,推动科技进步,促进社会发展。

创作不易,喜欢的老铁们加个关注,点个赞,打个赏,后面会不定期更新干货和技术相关的资讯,速速收藏,谢谢!你们的一个小小举动就是对小编的认可,更是创作的动力。

标签:正式,渲染,页面,SSR,3.2,Nuxt,服务端,客户端
From: https://www.cnblogs.com/sexintercourse/p/17189179.html

相关文章

  • 2002年,我在台资企业搞信息化,才正式学习编程软件,当时用的delphi5,操作简单,编译速度快,拖
    2002年,我在台资企业搞信息化,才正式学习编程软件,当时用的delphi5,操作简单,编译速度快,拖拉控件,上手很快,这样陆陆续续使用到现在,出了不少作品,至今还在用delphi搞PC端软件......
  • 3.2 L5-NOIP训练29 测试题解
    3.2L5-NOIP训练29测试题解码创Contest#530(出题人写中文也要句句都打分号吗!!)A.老司机的压缩包(数论)题面老司机最近得到了一个奇怪的压缩包,听说里面有十分厉害的东西......
  • ThinkPHP 3.2.3 介绍及安装
    一、ThinkPHP的介绍:基于MVC模式(3者分离)M-Model模型工作:负责数据的操作V-View视图(模板)工作:负责前台页面显示C-Controller控制器(模块)工作:描述功能二、Thi......
  • No.3.2
    运算符:赋值运算符:对变量进行赋值的运算符=将等号右边的值赋予给左边,要求左边必须是一个容器其他赋值运算符:+= -= *= /= %=使用这些运算符可以在对......
  • MacOS Ventura 13.2.1 (22D68) 下载
    基于官方镜像制作.支持制作U盘启动和VMWare加载. 下载地址:XEngine--XEngine网络开发框架XEngine网络通信引擎XEngine网络中间件(xyry.org)......
  • 基于NUXT.JS搭建一款VUE版SSR前端框架(解决SPA应用的SEO优化优化问题)
    小仙男·言在前关于框架:为了解决VUE的SPA单页应用对SEO搜索引擎优化不友好的问题,这几天一直在调研各种SSR框架。比如doc.ssr-fc.com/和fmfe.github.io/genesis-do都是......
  • 算法基础1.3.2高精度减法
    前言先看高精度加法的文章,如果没有看,我把高精度加法文章中的总结前言放到这里该文章探讨的高精度代指C++中极大整数的计算,不是浮点数(y总说那个少见,不讲)。这个问题只在C......
  • 高性能 Jsonpath 框架,Snack3 3.2.57 发布
    Snack3,一个高性能的JsonPath框架借鉴了Javascript所有变量由var申明,及Xmldom一切都是Node的设计。其下一切数据都以ONode表示,ONode也即Onenode之意,代表任何......
  • Canonical 正式加入学院软件基金会
    Ubuntu母公司Canonical宣布正式加入学院软件基金会(AcademySoftwareFoundation,ASWF),并成为高级会员(PremierMembers)。据介绍,Canonical在开源社区内提供的服务和......
  • day03(2023.3.2)
    今日份学习:1.字符char2.布尔型boolean 3.运算符算数运算符 4.赋值运算符和扩展赋值运算符 5.关系运算符 6.逻辑运算符 7.位运算 8.字符串 9.......