新版Next.js 15中5个令人惊叹的特性

前端岗位内推来了

Next.js 15已经到来,一切比以往更好!

从全新的编译器到700倍更快的构建时间,创建具有卓越性能的全栈Web应用从未如此简单。

让我们探索v15的最新特性:

1. create-next-app升级:更清晰的UI,700倍更快的构建

改进的设计

从这样:

变成这样:

Webpack → Turbopack

Turbopack:世界上最快的模块打包器(至少他们是这么说的):

  • 比Webpack快700倍

  • 比Vite快10倍

现在在v15中,将其添加到你的Next.js项目比以往任何时候都更容易:

2. React编译器,React 19支持,和用户友好的错误提示

React编译器就是一个React编译器(谁能想到呢)。

一个深入理解你的React代码的现代编译器。

带来诸如自动记忆化等优化------在绝大多数情况下消除了对 useMemo 和 useCallback 的需求。

节省时间,防止错误,加快速度。

而且设置非常简单:你只需安装babel-plugin-react-compiler

go 复制代码
npm install babel-plugin-react-compiler

然后在next.config.js中添加这个

go 复制代码
const nextConfig = {
  experimental: {
    reactCompiler: true,
  },
};

module.exports = nextConfig;
React 19支持

带来了客户端和服务器端Actions等升级。

更好的hydration错误

开发体验意味着很多,错误消息的有用性在其中扮演着重要角色。

Next.js 15设置了更高的标准:现在对可能的错误修复方法提供智能建议。

v15之前:

现在:

你知道我过去因这些hydration错误遇到过困难,所以这对我来说肯定会是一个无价之宝。

3. 新的缓存行为

不再自动缓存!

对于所有:

  • fetch() 请求

  • 路由处理程序:GETPOST

  • <Link> 客户端导航。

但如果你仍然想要缓存fetch()

go 复制代码
// 'cache' 在 v15 之前默认是 'no-store'
fetch('https://example.com', { cache: 'force-cache' });

然后你可以通过一些next.config.js选项缓存其他内容。

4. 部分预渲染(PPR)

PPR在同一页面中结合了静态和动态渲染。

通过立即加载静态HTML并在同一HTTP请求中流式传输动态部分,大大提高了性能。

go 复制代码
import { Suspense } from 'react';
import {
  StaticComponent,
  DynamicComponent,
} from '@app/ui';

export const experimental_ppr = true;

export default function Page() {
  return (
    <>
      <StaticComponent />
      <Suspense fallback={...}>
        <DynamicComponent />
      </Suspense>
    </>
  );
}

你只需要在next.config.js中添加这个:

go 复制代码
const nextConfig = {
  experimental: {
    ppr: 'incremental',
  },
};

module.exports = nextConfig;
5.next/after

Next.js 15为你提供了一种清晰的方式来分离每个服务器请求中的必要和非必要任务

  • 必要:身份验证检查,数据库更新等

  • 非必要:日志记录,分析等

go 复制代码
import { unstable_after as after } from 'next/server';
import { log } from '@app/utils';

export default function Layout({ children }) {
  // 次要任务
  after(() => {
    log();
  });

  // 主要任务
  // 从数据库中获取(fetch())数据并渲染
  return <>{children}</>;
}

现在就用experimental.after开始使用:

go 复制代码
const nextConfig = {
  experimental: {
    after: true,
  },
};

module.exports = nextConfig;

这只是Next.js 15中所有影响深远的新特性中的5个。

现在就用npx create-next-app@rc获取它,开始享受显著改善的构建时间和更优秀的开发者体验。

最后:

CSS技巧与案例详解

vue2与vue3技巧合集

VueUse源码解读

相关推荐
Larcher6 小时前
React Router 不只是页面跳转:从 SPA 路由到权限守卫的完整实践
javascript·后端
Larcher6 小时前
大模型为什么每次回答都不一样?一文搞懂 Temperature、Top K 与 Top P
javascript·后端
名字还没想好☜8 小时前
Python f-string 进阶:数字格式化、对齐填充、调试 = 号与嵌套表达式
开发语言·数据库·python·字符串格式化·f-string
用户938515635079 小时前
从零在浏览器里跑 DeepSeek-R1:WebGPU + Transformer.js 全链路实战
前端·设计模式·typescript
CodeSheep9 小时前
稚晖君公司人事大变动,来了!
前端·后端·程序员
鱼樱前端9 小时前
用 AI 做内容变收入
前端·人工智能·ai编程
eric-sjq10 小时前
10 分钟实战:用 0.6B 本地模型生成中文网页(WanlyFrontend + 编译器全流程)
javascript·机器学习·自然语言处理·html
浮生望10 小时前
React + TypeScript 组件设计进阶:从类型约束到无状态组件的三次进化
前端
To_OC10 小时前
LC 438 找到所有字母异位词:暴力超时后,我靠滑动窗口一招搞定
javascript·算法·leetcode
90后的晨仔10 小时前
Mac 开发 uni-app 终极方案:让安卓模拟器彻底脱离 Android Studio 独立运行
前端·vue.js