IT资讯 Next.js 14 发布

waite · 2023-10-30 17:00:10 · 热度: 18

Vercel 公司在 Next.js Conf 2023 上宣布了 Next.js 14

Vercel 是流行的开源前端框架 Next.js 背后的公司,Next.js 提供了包括服务器端渲染和为 Web 应用程序生成静态网站在内的功能。Vercel 作为一个开放的云平台提供了网站托管服务,让开发者能够在上面开发、预览和发布 Web 应用,同时优化了前端开发者的开发和部署体验。

Next.js 14 发布

Next.js 14 主要变化:

  • Turbopack: App & 页面路由通过了 5000 项测试
    • 本地服务器启动速度提升 53%
    • 使用 Fast Refresh 进行代码更新的速度提升 94%
  • Server Actions (Stable): 渐进式的增强突变
    • 重新验证缓存数据
    • 支持简单的函数调用
    • 本地支持表单
  • Partial Prerendering (Preview): 快速初始化静态响应 + 流式动态内容
  • Next.js Learn (New): 针对 App Router、身份验证、数据库等内容的全新免费课程

  • Turbopack 通过 5000 项集成测试

底层采用 Rust 编写的构建引擎 Turbopack 已通过next dev 的 5,000 项集成测试,这些测试包括 7 年的错误修复。

Vercel 称开发者现在应该使用next dev -turbo会得到更快、更可靠的性能。该公司还表示,一旦 Turbopack 所有测试都通过,它将进入稳定状态(目前通过了 90% 的测试)。

  • Server Actions

在 Next.js 14 中,Next.js 团队通过稳定版本的 Server Actions 改进了开发者在编写数据变更方面的体验。

Server Actions 允许开发者定义异步服务器函数,使用 Server Actions 来重新验证缓存数据、重定向到不同的路由、设置和读取 cookie 等等。

现在,只需在 React 组件中定义一个函数,就能在服务器上安全地执行操作。

下面是一个简易示例:

export default function Page() {
  async function create(formData: FormData) {
    'use server';
    const id = await createItem(formData);
  }
 
  return (
    <form action={create}>
      <input type="text" name="name" />
      <button type="submit">Submit</button>
    </form>
  );
}

这不仅减少代码量,还减少了更改数据和重新渲染页面所需的网络往返次数,从而提升用户体验。

  • 部分预渲染 (Partial Prerendering)

Next.js 团队正在为 Next.js 开发的”部分预渲染“是一种针对具有快速初始静态响应的动态内容的编译器优化。

Partial Prerendering 基于十年来对服务器端渲染 (SSR)、静态网站生成 (SSG) 和增量静态重验证 (ISR) 的研究和开发。

详情查看发布公告

猜你喜欢:
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册