百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Next.js 15.2 发布 | .NET 10 首个预览版发布

zhezhongyun 2025-03-10 22:30 48 浏览

Next.js 15.2 发布:更优调试体验、流式元数据和性能提升

Next.js 15.2 版本带来了更优的调试体验,主要改进包括重新设计的错误界面、流式元数据支持、Turbopack 性能提升,以及实验性的 React View Transitions 和 Node.js 中间件支持。

1 重新设计的错误界面和改进的堆栈跟踪

新版本彻底革新了 Next.js 中错误消息的 UI 和呈现方式,使其更易于理解。新设计突出了错误的核心细节,例如消息、相关代码框架和调用堆栈,同时减少了库或依赖项中代码的干扰。这意味着你可以更快地找 到问题的根源并开始修复它。

利用 React 中新引入的 owner stacks 功能,Next.js 现在可以更精确地指出错误的来源,跳过未导致错误的中间元素。此外,开发者现在可以更轻松地自定义指示器偏好,无需添加额外的配置。错误覆盖底部新 增的反馈部分,允许用户对错误消息的帮助程度进行评分,这将有助于 Next.js 团队改进错误消息。

2 流式元数据

在之前的版本中,generateMetadata 中的异步操作需要在初始 UI 发送之前完成,以便将其包含在文档的 中。这意味着即使初始 UI 可用,初始绘制仍会被不影响用户视觉体验的数据需求延迟。15.2 版本改进了这一点,允许在 generateMetadata 完成之前将初始 UI 发送到浏览器。

为了保持与搜索引擎爬虫的兼容性,Next.js 仍然会延迟向某些机器人用户代理发送 HTML。你可以通过 next.config.js 中的 htmlLimitedBots 选项自定义正则表达式来控制哪些机器人会受到此处理。

3 Turbopack 性能提升

Next.js 15 版本标志着 Turbopack 的稳定发布。15.2 版本进一步提升了 Turbopack 的性能,尤其是在没有持久缓存的情况下。早期采用者报告称,与 Next.js 15.1 相比,访问路由时的编译时间最多可缩短 57.6%。对于 vercel.com 应用,本地开发期间的内存使用量减少了 30%

4 React View Transitions (实验性)

Next.js 15.2 新增了一个功能标志,用于启用 React 中新的实验性 View Transitions API,该 API 允许你在应用程序的不同视图和组件之间进行动画过渡。可以通过在 next.config.js 中添加以下配置来启用此功能:

module.exports = {
  experimental: {
    viewTransition: true,
  },
};

5 Node.js 中间件 (实验性)

新版本还实验性地支持在中间件中使用 Node.js 运行时。可以通过在 next.config.js 中添加以下配置来启用此功能:

module.exports = {
  experimental: {
    nodeMiddleware: true,
  },
};

6即将推出

  • "use cache" (beta):Next.js 团队一直在致力于将 "use cache" 作为一项独立功能进行稳定化。
  • Turbopack 持久缓存 (实验性):Vercel 正在内部测试持久缓存,并取得了积极的性能改进。

7 其他改进

除了以上主要功能外,Next.js 15.2 还包含其他改进,例如新增 --api 标志以使用 create-next-app 创建纯 API 应用,以及对 next/imageimages.qualities 支持等。

x-cmd 用户安装和升级方式:

# 查询并执行 Next.js 的安装和升级命令
x install nextjs

Next.js 15.2 版本带来了显著的改进,尤其是在调试体验和性能方面。 赶紧升级体验吧!

来源:

https://nextjs.org/blog/next-15-2


.NET 10 首个预览版发布

.NET 团队激动地宣布 .NET 10 的首个预览版正式发布!此版本包含了运行时、SDK、库、C#、ASP.NET Core、Blazor、.NET MAUI 等方面的重大改进。主要更新如下:

库:

  • 可通过 SHA-1 以外的指纹查找证书
  • 可在 ASCII/UTF-8 中查找 PEM 编码数据
  • DateOnly 类型中 ISOWeek 的新方法重载
  • 字符串规范化 API 支持字符 Span
  • 字符串比较的数字排序
  • 添加了带单个参数的 TimeSpan.FromMilliseconds 重载
  • ZipArchive 性能和内存改进
  • OrderedDictionary 添加了额外的 TryAddTryGetValue 重载
  • 更多左手矩阵变换方法

运行时:

  • 数组接口方法去虚拟化
  • 值类型数组的堆栈分配
  • AVX10.2 支持

SDK:

  • 框架提供的包引用剪枝

C#:

  • 在未绑定泛型中支持 nameof
  • 隐式 span 转换
  • field 支持的属性
  • 简单 Lambda 参数上的修饰符
  • 实验性功能:数据段中的字符串字面量

F#:

此版本更新了 F# 语言、FSharp.Core 标准库和 FSharp.Compiler.Service。

Visual Basic:

  • 支持 unmanaged 约束
  • 遵循重载解析优先级

ASP.NET Core & Blazor:

  • 支持 OpenAPI 3.1
  • 以 YAML 格式生成 OpenAPI 文档
  • ProducesResponseType 上的响应描述
  • 使用 RedirectHttpResult.IsLocalUrl 检测 URL 是否为本地
  • 改进了对顶级语句应用程序的集成测试
  • QuickGrid RowClass 参数
  • Blazor 脚本作为静态 Web 资源
  • Blazor RouteAttribute 的路由语法高亮

.NET MAUI:

此版本专注于质量改进,包括 iOS 和 Mac Catalyst 的 CollectionView 增强功能。.NET for Android 支持 Android 16 (Baklava) Beta 1、JDK-21 构建,并更新了最低支持 Android API 建议。.NET for iOS、Mac Catalyst、macOS 和 tvOS 默认启用修剪器警告,并在库中捆绑原始资源。

Windows Forms:

  • 与剪贴板相关的序列化和反序列化更改
  • 淘汰的剪贴板 API
  • 新的剪贴板相关 API

Windows Presentation Foundation (WPF):

此版本专注于质量改进。

Entity Framework Core:

  • 支持 .NET 10 LeftJoin 运算符
  • ExecuteUpdateAsync 现在接受常规的非表达式 lambda

容器镜像:

  • 10.0-preview 标签使用 Ubuntu 24.04
  • Debian 镜像使用 Debian 13 “Trixie”
  • Ubuntu Chiseled 镜像现在包含 Chisel 清单

来源:
https://devblogs.microsoft.com/dotnet/dotnet-10-preview-1/


更多内容请查阅 :
https://cn.x-cmd.com/blog/250303

相关推荐

Python入门学习记录之一:变量_python怎么用变量

写这个,主要是对自己学习python知识的一个总结,也是加深自己的印象。变量(英文:variable),也叫标识符。在python中,变量的命名规则有以下三点:>变量名只能包含字母、数字和下划线...

python变量命名规则——来自小白的总结

python是一个动态编译类编程语言,所以程序在运行前不需要如C语言的先行编译动作,因此也只有在程序运行过程中才能发现程序的问题。基于此,python的变量就有一定的命名规范。python作为当前热门...

Python入门学习教程:第 2 章 变量与数据类型

2.1什么是变量?在编程中,变量就像一个存放数据的容器,它可以存储各种信息,并且这些信息可以被读取和修改。想象一下,变量就如同我们生活中的盒子,你可以把东西放进去,也可以随时拿出来看看,甚至可以换成...

绘制学术论文中的“三线表”具体指导

在科研过程中,大家用到最多的可能就是“三线表”。“三线表”,一般主要由三条横线构成,当然在变量名栏里也可以拆分单元格,出现更多的线。更重要的是,“三线表”也是一种数据记录规范,以“三线表”形式记录的数...

Python基础语法知识--变量和数据类型

学习Python中的变量和数据类型至关重要,因为它们构成了Python编程的基石。以下是帮助您了解Python中的变量和数据类型的分步指南:1.变量:变量在Python中用于存储数据值。它们充...

一文搞懂 Python 中的所有标点符号

反引号`无任何作用。传说Python3中它被移除是因为和单引号字符'太相似。波浪号~(按位取反符号)~被称为取反或补码运算符。它放在我们想要取反的对象前面。如果放在一个整数n...

Python变量类型和运算符_python中变量的含义

别再被小名词坑哭了:Python新手常犯的那些隐蔽错误,我用同事的真实bug拆给你看我记得有一次和同事张姐一起追查一个看似随机崩溃的脚本,最后发现罪魁祸首竟然是她把变量命名成了list。说实话...

从零开始:深入剖析 Spring Boot3 中配置文件的加载顺序

在当今的互联网软件开发领域,SpringBoot无疑是最为热门和广泛应用的框架之一。它以其强大的功能、便捷的开发体验,极大地提升了开发效率,成为众多开发者构建Web应用程序的首选。而在Spr...

Python中下划线 ‘_’ 的用法,你知道几种

Python中下划线()是一个有特殊含义和用途的符号,它可以用来表示以下几种情况:1在解释器中,下划线(_)表示上一个表达式的值,可以用来进行快速计算或测试。例如:>>>2+...

解锁Shell编程:变量_shell $变量

引言:开启Shell编程大门Shell作为用户与Linux内核之间的桥梁,为我们提供了强大的命令行交互方式。它不仅能执行简单的文件操作、进程管理,还能通过编写脚本实现复杂的自动化任务。无论是...

一文学会Python的变量命名规则!_python的变量命名有哪些要求

目录1.变量的命名原则3.内置函数尽量不要做变量4.删除变量和垃圾回收机制5.结语1.变量的命名原则①由英文字母、_(下划线)、或中文开头②变量名称只能由英文字母、数字、下画线或中文字所组成。③英文字...

更可靠的Rust-语法篇-区分语句/表达式,略览if/loop/while/for

src/main.rs://函数定义fnadd(a:i32,b:i32)->i32{a+b//末尾表达式}fnmain(){leta:i3...

C++第五课:变量的命名规则_c++中变量的命名规则

变量的命名不是想怎么起就怎么起的,而是有一套固定的规则的。具体规则:1.名字要合法:变量名必须是由字母、数字或下划线组成。例如:a,a1,a_1。2.开头不能是数字。例如:可以a1,但不能起1a。3....

Rust编程-核心篇-不安全编程_rust安全性

Unsafe的必要性Rust的所有权系统和类型系统为我们提供了强大的安全保障,但在某些情况下,我们需要突破这些限制来:与C代码交互实现底层系统编程优化性能关键代码实现某些编译器无法验证的安全操作Rus...

探秘 Python 内存管理:背后的神奇机制

在编程的世界里,内存管理就如同幕后的精密操控者,确保程序的高效运行。Python作为一种广泛使用的编程语言,其内存管理机制既巧妙又复杂,为开发者们提供了便利的同时,也展现了强大的底层控制能力。一、P...