Next.js 刚刚投下了一个改变游戏规则的重磅炸弹,在 Next.js 大会之前发布了 Next.js 15 的稳定版本——这绝对是疯狂的! ?
以下是 Next.js 15 中包含的一些令人兴奋的新更新和功能:- 使用 @next/codemod CLI 改进升级:Next.js 15 包含一个新的 codemod CLI,可以更轻松地升级到最新的 Next.js 和 React 版本。 CLI 更新依赖项、显示可用的代码模块并提供应用指南。
- 异步请求 API:依赖于请求特定数据(例如标头、cookie、params 和 searchParams)的 API 已转换为异步。此更改会影响 cookie、标头、draftMode、params(在各种上下文中)和 searchParams 等 API。这是一个重大更改,但可以使用 codemod 来帮助迁移。
- 缓存语义的更改:Next.js 15 更改了获取请求、GET 路由处理程序和客户端路由器缓存的默认缓存行为。现在默认情况下这些是不缓存的。如果需要,您可以选择缓存。
- 获取请求现在使用 no-store 作为默认缓存选项,这意味着默认情况下不会缓存它们。您可以通过将缓存选项设置为强制缓存来选择缓存。
- GET 路由处理程序默认也不被缓存。您可以选择使用静态路由配置选项进行缓存。
- 默认情况下,客户端路由器缓存不再缓存页面组件。您可以通过在 next.config.ts 中设置 staleTime 来恢复到以前的行为。
- React 19 支持:Next.js 15 支持 React 19,包括实验性的 React 编译器。
- App Router 使用 React 19 RC,而 Pages Router 则保持对 React 18 的向后兼容性。由于潜在的不一致,不建议在同一应用程序中使用 React 18 作为页面路由器和 React 19 作为应用程序路由器。
- React 编译器旨在通过减少手动记忆来简化代码,但它仍处于实验阶段,可能会导致构建时间变慢。
- 稳定的 Turbopack 开发:Turbopack,新的基于 Rust 的构建系统,现在在开发模式下稳定(next dev --turbo)。它在服务器启动、快速刷新和初始路由编译方面提供了显着的性能改进。
- 静态路由指示器:这个新的视觉指示器有助于在开发过程中识别静态和动态路由。
- unstable_after API:unstable_after API 允许在响应完成流式传输后执行代码,这对于不需要阻止用户的任务(例如日志记录和分析)特别有用。
- instrumentation.js API:该 API 允许开发者监控 Next.js 服务器生命周期事件,这有助于性能跟踪和错误分析。
- 使用 :新的
- next.config.ts 中的 TypeScript 支持:Next.js 15 支持 TypeScript next.config.ts 文件,为配置选项提供类型安全和自动完成功能。
- 自托管改进:Next.js 15 为自托管提供了对 Cache-Control 标头的更多控制,通过自动使用 Sharp 简化了图像优化,并包含有关自托管的演示和教程视频.
- 增强的服务器操作安全性:Next.js 现在消除了构建过程中未使用的服务器操作,并利用不可预测的 ID 进行客户端引用,从而增强了安全性。
- 捆绑外部包:Next.js 15 提供了更一致的配置选项,用于跨应用程序和页面路由器捆绑外部包。 serverExternalPackages 选项允许统一管理。
- ESLint 9 支持:Next.js 15 引入了对 ESLint 9 的支持,同时保持与 ESLint 8 的向后兼容性。更新还包括在下一个 lint 中删除已弃用的选项以及升级到 eslint-plugin-react-挂钩到版本 5.0.0。
- 开发和构建改进:
- 改进了服务器组件热模块替换 (HMR),以增强本地开发性能。
- 通过优化的渲染流程和工作人员之间共享的获取缓存,App Router 中的静态生成速度更快。
- 为高级用例引入实验性静态生成控制,但需要谨慎,因为它们可能会导致资源消耗增加。
- 杂项:
- 跨不同领域的突破性更改和改进,例如下一个/图像、中间件、下一个/字体、缓存、配置选项、速度洞察、站点地图、动态路线、重新验证等等。
- 元数据处理、tree-shaking、并行路由、错误处理、预取和其他几个方面的总体改进。
问题出现了,“Next.js 15 版本如何解决服务器端功能无意暴露的问题?”
Next.js 15 版本引入了两项增强功能,以解决服务器端功能无意暴露的问题,特别是服务器操作:
- 死代码消除:应用程序中未使用的服务器操作将在下一个构建过程中自动删除。这可以防止他们将自己的 ID 暴露给客户端 JavaScript 包并创建公共端点。
- 安全操作 ID:Next.js 15 为服务器操作生成不可猜测的、不确定的 ID,使攻击者很难猜测并直接访问它们。这些 ID 会在构建之间定期重新计算,以进一步增强安全性。
需要注意的是,这些措施并不能完全消除服务器操作暴露的风险。开发人员仍应将服务器操作视为公共 HTTP 端点,并实施适当的安全措施来保护敏感数据和功能。
以上是NextJs 稳定版本来了:有什么新功能?的详细内容。更多信息请关注PHP中文网其他相关文章!

Python和JavaScript的主要区别在于类型系统和应用场景。1.Python使用动态类型,适合科学计算和数据分析。2.JavaScript采用弱类型,广泛用于前端和全栈开发。两者在异步编程和性能优化上各有优势,选择时应根据项目需求决定。

选择Python还是JavaScript取决于项目类型:1)数据科学和自动化任务选择Python;2)前端和全栈开发选择JavaScript。Python因其在数据处理和自动化方面的强大库而备受青睐,而JavaScript则因其在网页交互和全栈开发中的优势而不可或缺。

Python和JavaScript各有优势,选择取决于项目需求和个人偏好。1.Python易学,语法简洁,适用于数据科学和后端开发,但执行速度较慢。2.JavaScript在前端开发中无处不在,异步编程能力强,Node.js使其适用于全栈开发,但语法可能复杂且易出错。

javascriptisnotbuiltoncorc; saninterpretedlanguagethatrunsonenginesoftenwritteninc.1)javascriptwasdesignedAsalightweight,解释edganguageforwebbrowsers.2)Enginesevolvedfromsimpleterterterpretpreterterterpretertestojitcompilerers,典型地提示。

JavaScript可用于前端和后端开发。前端通过DOM操作增强用户体验,后端通过Node.js处理服务器任务。1.前端示例:改变网页文本内容。2.后端示例:创建Node.js服务器。

选择Python还是JavaScript应基于职业发展、学习曲线和生态系统:1)职业发展:Python适合数据科学和后端开发,JavaScript适合前端和全栈开发。2)学习曲线:Python语法简洁,适合初学者;JavaScript语法灵活。3)生态系统:Python有丰富的科学计算库,JavaScript有强大的前端框架。

JavaScript框架的强大之处在于简化开发、提升用户体验和应用性能。选择框架时应考虑:1.项目规模和复杂度,2.团队经验,3.生态系统和社区支持。

引言我知道你可能会觉得奇怪,JavaScript、C 和浏览器之间到底有什么关系?它们之间看似毫无关联,但实际上,它们在现代网络开发中扮演着非常重要的角色。今天我们就来深入探讨一下这三者之间的紧密联系。通过这篇文章,你将了解到JavaScript如何在浏览器中运行,C 在浏览器引擎中的作用,以及它们如何共同推动网页的渲染和交互。JavaScript与浏览器的关系我们都知道,JavaScript是前端开发的核心语言,它直接在浏览器中运行,让网页变得生动有趣。你是否曾经想过,为什么JavaScr


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

WebStorm Mac版
好用的JavaScript开发工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

Dreamweaver CS6
视觉化网页开发工具