Next.js - 概述
通过使用 Next.js,您可以非常轻松地创建基于 React 的强大应用程序并对其进行测试。Next.js 由 Vercel 创建,这是一个基于云的平台,可帮助开发人员开发应用程序、部署和扩展应用程序。
什么是 Next.js?
Next.js 是基于 React 的框架,具有服务器端渲染功能。它非常快并且对 SEO 友好。Next.js 具有 React 所缺乏的许多优势。
Next.js 相对于 ReactJS 的优势
- 热代码重新加载 Next.js 服务器检测已修改的文件并自动重新加载它们。
- 自动路由:无需为路由配置任何 URL。文件将放在 pages 文件夹中。所有 URL 都将映射到文件系统。可以进行自定义。
- 组件特定样式: styled-jsx 提供对全局样式和组件特定样式的支持。
- 服务器端渲染: React 组件在服务器上预渲染,因此在客户端加载速度更快。
- Node 生态系统: Next.js 基于 React,与 Node 生态系统完美融合。
- 自动代码拆分: Next.js 使用所需的库来渲染页面。 Next.js 不会创建单个大型 JavaScript 文件,而是创建多个资源。加载页面时,仅加载所需的 JavaScript 页面。
- 预取:Next.js 提供 Link 组件,用于链接多个组件,支持预取属性以在后台预取页面资源。
- 动态组件:Next.js 允许动态导入 JavaScript 模块和 React 组件。
- 导出静态站点:Next.js 允许从 Web 应用程序导出完整的静态站点。
- 内置 Typescript 支持:Next.js 用 Typescript 编写,并提供出色的 Typescript 支持。
Next.js 的历史
Next.js 由 Vercel(前身为 ZEIT)于 2016 年创建,旨在弥补 ReactJS 生态系统的差距。从 2016 年到现在,Next.js 也有了很大的改进。当前稳定的 Next.js 版本为 15.0.3(2024 年 11 月 7 日)。
Next.js 版本
年份 | 版本 | 主要功能 |
---|---|---|
2016 | Next.js 1.0.0 (十月) | 首次发布 |
2017 | Next.js 2.0.0 | 添加了自动代码拆分 |
Next.js 3.0.0 | 引入动态导入 | |
Next.js 4.0.0 | 添加了零配置 TypeScript 支持 | |
2018 | Next.js 5.0.0 | 添加了 webpack 4 支持 |
Next.js 6.0.0 | 改进了错误处理 | |
Next.js 7.0.0 | 添加了 Webpack 4 优化功能 | |
2019 | Next.js 8.0.0 | 引入无服务器模式 |
Next.js 9.0.0 | 新增内置零配置 TypeScript 支持、自动静态优化 | |
2020 | Next.js 9.3 | 引入 getStaticProps 和 getStaticPaths |
Next.js 10.0.0 | 新增内置图片组件、自动图片优化 | |
2021 | Next.js 11.0.0 | 引入 Webpack 5 支持、脚本优化 |
Next.js 12.0.0 | 添加了 Rust 编译器、中间件和 React 18 支持 | |
2022 | Next.js 12.1.0 | 按需 ISR(增量静态再生) |
Next.js 12.2.0 | 改进的中间件功能 | |
Next.js 13.0.0 | 引入了 app 目录、Turbopack(alpha 版)、新的 Image 组件 | |
2023 | Next.js 13.4 | App Router 稳定版本 |
Next.js 14.0.0 | 改进的服务器操作,部分预渲染 | |
Next.js 15.0.3 | React 19 支持,以及正在开发中的 Turbopack 稳定版本。 |
Next.js 如何工作?
Next.js 同时支持服务器端渲染和客户端渲染。因此,您可以决定您的应用程序需要哪一种。根据具体情况,它有助于 SEO 和快速访问您的应用程序。
请查看下图以了解 - "Next.js 内部如何工作?"我们将在本教程中解释所有这些步骤。