当前位置:首页 > 科技  > 软件

Nuxt 3.10 正式发布,看看有什么变化!

来源: 责编: 时间:2024-02-01 12:48:28 264观看
导读1 月 30 日,Nuxt.js 3.10 正式发布。该版本的更新亮点如下:预渲染时共享asyncData(实验性)SSR 安全且可访问的唯一 ID 生成扩展 app/router.options客户端 Node.js 支持更好的 cookie 响应性细粒度视图转换支持构建时路由

1 月 30 日,Nuxt.js 3.10 正式发布。该版本的更新亮点如下:

  • 预渲染时共享asyncData(实验性)
  • SSR 安全且可访问的唯一 ID 生成
  • 扩展 app/router.options
  • 客户端 Node.js 支持
  • 更好的 cookie 响应性
  • 细粒度视图转换支持
  • 构建时路由元数据
  • 构建工具模块解析

预渲染时共享 asyncData

当我们预渲染路由(即预先生成HTML内容)时,由于每个页面都是独立渲染的,如果我们没有采取适当的措施,可能会导致在每个页面中都重新获取相同的数据。这会导致不必要的API调用和可能的性能问题。2sx28资讯网——每日最新资讯28at.com

在 Nuxt 2 中,可以创建一个数据集,这个数据集可以在多个页面中被访问和重用。这样,只需要获取一次数据,就可以在多个页面中使用它。但这是需要手动设置的。2sx28资讯网——每日最新资讯28at.com

在 Nuxt 3 中,开发者可以继续使用useAsyncData和useFetch这样的钩子来获取数据。但通过 v3.10 的改进,Nuxt 3 现在能够自动处理数据的去重和缓存。这意味着,当预渲染多个页面时,如果这些页面需要相同的数据,Nuxt 3会自动确保这些数据只被获取一次,并在多个页面之间共享。这样,开发者就不需要手动设置数据的共享和缓存了。2sx28资讯网——每日最新资讯28at.com

export defineNuxtConfig({   experimental: {     sharedPrerenderData: true  } })

SSR 安全且可访问的唯一 ID 生成

在 v3.10版本中,提供了一个 useId 组合式函数,用于生成 SSR 安全的唯一 ID。这有助于创建更易于访问的应用界面。2sx28资讯网——每日最新资讯28at.com

<script setup>const emailId = useId()const passwordId = useId()</script><template>  <form>    <label :for="emailId">Email</label>    <input      :id="emailId"      name="email"      type="email"    >    <label :for="passwordId">Password</label>    <input      :id="passwordId"      name="password"      type="password"    >  </form></template>

扩展 app/router.options

如今,模块开发者可以轻松地注入自定义的router.options。借助全新的pages:routerOptions钩子,他们能实现诸多功能,如自定义 **scrollBehavior**,或动态调整路由设置。2sx28资讯网——每日最新资讯28at.com

客户端 Node.js 支持

现在,Nuxt 已实验性地支持在客户端代码中为关键的Node.js内置功能提供polyfill。这意味着,当你在编写客户端代码时,可以直接从Node.js的内置模块导入功能,就像在服务器端使用Nitro一样。但是,与服务器端不同,我们不会为你全局地注入任何内容,以避免不必要地增加你的代码包的大小。你需要根据你的需求在需要的地方进行导入。2sx28资讯网——每日最新资讯28at.com

import { Buffer } from 'node:buffer'import process from 'node:process'

或者提供自己的 polyfill,例如在 Nuxt 插件中。2sx28资讯网——每日最新资讯28at.com

import { Buffer } from 'node:buffer'import process from 'node:process'globalThis.Buffer = BufferglobalThis.process = processexport default defineNuxtPlugin({})

这应该会让那些正在使用没有适当浏览器支持的库的用户的工作变得更轻松。但是,由于增加包大小的风险,强烈建议用户如果可能的话,选择其他替代方案。2sx28资讯网——每日最新资讯28at.com

更好的 cookie 响应性

现在允许选择使用 CookieStore。如果浏览器支持,那么在更新 cookies 时,将使用 CookieStore 替代 BroadcastChannel 来响应地更新 useCookie 值。此外,还提供了一个新的函数 refreshCookie,允许手动刷新 cookie 值,例如在执行请求之后。2sx28资讯网——每日最新资讯28at.com

细粒度视图转换支持

现在,可以使用 definePageMeta 函数在每个页面上精细控制视图转换的支持。2sx28资讯网——每日最新资讯28at.com

在使用之前,请确保启用了实验性的视图转换支持功能。2sx28资讯网——每日最新资讯28at.com

export default defineNuxtConfig({  experimental: {    viewTransition: true  },  app: {    viewTransition: false  }})

并且可以选择性地启用/禁用粒度化的支持:2sx28资讯网——每日最新资讯28at.com

<script setup lang="ts">definePageMeta({  viewTransition: false})</script>

如果用户的浏览器偏好减少动画,Nuxt 将不会应用视图转换。可以将 viewTransition 设置为 'always',但最终还是要尊重用户的偏好。2sx28资讯网——每日最新资讯28at.com

构建时路由元数据

现在可以在构建时访问在 definePageMeta 中定义的路由元数据,允许模块和钩子函数修改和更改这些值。2sx28资讯网——每日最新资讯28at.com

export default defineNuxtConfig({  experimental: {    scanPageMeta: true  }})

未来的版本中,默认情况下将启用此功能,以提高性能,并支持诸如 @nuxtjs/i18n 等模块与在 definePageMeta 中设置的路由选项更深入地集成。2sx28资讯网——每日最新资讯28at.com

构建工具模块解析

Nuxt 团队最近对模块的解析方式进行了优化。通过启用 TypeScript 的构建工具解析,更准确地模拟了在 Nuxt 项目中解决子路径导入模块的实际过程。2sx28资讯网——每日最新资讯28at.com

这种“构建工具”模块解析方式受到 Vue 和 Vite 的推荐,但遗憾的是,许多包的 package.json 文件中并没有正确配置相关项。作为改进措施的一部分,我们在整个生态系统中提出了 85 个 PR,用于测试切换默认解析方式,并修复了一些问题。2sx28资讯网——每日最新资讯28at.com

可以通过以下方式来关闭此行为:2sx28资讯网——每日最新资讯28at.com

export default defineNuxtConfig({  future: {    typescriptBundlerResolution: false  }})

升级

可以通过以下方式来升级最新版本:2sx28资讯网——每日最新资讯28at.com

nuxi upgrade --force

这也将刷新 lockfile,并确保获取 Nuxt 所依赖的其他依赖项的更新,尤其是在 unjs 生态系统中的更新。2sx28资讯网——每日最新资讯28at.com

2sx28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-70418-0.htmlNuxt 3.10 正式发布,看看有什么变化!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 司空见惯的错误检测,原来还有这么多干货!

下一篇: JavaScript 新增七个方法,很实用!

标签:
  • 热门焦点
  • K6:面向开发人员的现代负载测试工具

    K6 是一个开源负载测试工具,可以轻松编写、运行和分析性能测试。它建立在 Go 和 JavaScript 之上,它被设计为功能强大、可扩展且易于使用。k6 可用于测试各种应用程序,包括 Web
  • 多线程开发带来的问题与解决方法

    使用多线程主要会带来以下几个问题:(一)线程安全问题  线程安全问题指的是在某一线程从开始访问到结束访问某一数据期间,该数据被其他的线程所修改,那么对于当前线程而言,该线程
  • 只需五步,使用start.spring.io快速入门Spring编程

    步骤1打开https://start.spring.io/,按照屏幕截图中的内容创建项目,添加 Spring Web 依赖项,并单击“生成”按钮下载 .zip 文件,为下一步做准备。请在进入步骤2之前进行解压。图
  • 中国家电海外掘金正当时|出海专题

    作者|吴南南编辑|胡展嘉运营|陈佳慧出品|零态LT(ID:LingTai_LT)2023年,出海市场战况空前,中国创业者在海外纷纷摩拳擦掌,以期能够把中国的商业模式、创业理念、战略打法输出海外,他们依
  • 年轻人的“职场羞耻感”,无处不在

    作者:冯晓亭 陶 淘 李 欣 张 琳 马舒叶来源:燃次元&ldquo;人在职场,应该选择什么样的着装?&rdquo;近日,在网络上,一个与着装相关的帖子引发关注,在该帖子里,一位在高级写字楼亚洲金
  • iQOO Neo8 Pro真机谍照曝光:天玑9200+和V1+旗舰双芯加持

    去年10月,iQOO推出了iQOO Neo7系列机型,不仅搭载了天玑9000+,而且是同价位唯一一款天玑9000+直屏旗舰,一经上市便受到了用户的广泛关注。在时隔半年后,
  • 2022爆款:ROG魔霸6 冰川散热系统持续护航

    喜逢开学季,各大商家开始推出自己的新产品,进行打折促销活动。对于忠实的端游爱好者来说,能够拥有一款梦寐以求的笔记本电脑是一件十分开心的事。但是现在的
  • Meta盲目扩张致超万人被裁,重金押注元宇宙而前景未明

    图片来源:图虫创意日前,Meta创始人兼CEO 马克&middot;扎克伯发布公开信,宣布Meta计划裁员超11000人,占其员工总数13%。他公开承认了自己的预判失误:&ldquo;不仅
  • 中关村论坛11月25日开幕,15位诺奖级大咖将发表演讲

    11月18日,记者从2022中关村论坛新闻发布会上获悉,中关村论坛将于11月25至30日在京举行。本届中关村论坛由科学技术部、国家发展改革委、工业和信息化部、国务
Top