Next.js 开发指​南(GitHub 115k star​)

Next.js 是一个构建于 Node.js 之上的开源 Web 开发框架,它扩展了最新的 React 特性,集成了基于 Rust 的 JavaScript 工具,可以帮助你快速创建全栈 Web 应用 (full-stack Web applications) 。

对于有一定 React 基础的同学,Next.js 毫无疑问是进阶全栈工程师的最佳选择!

React 官方文档优先推荐的创建项目的方式便是使用 Next.js。目前 Next.js 在 GitHub 已有 115k star,Npm 周下载量 495W 左右,堪称最受欢迎的 Node.js 开发框架之一

c3d2fc6f95874a5390ca07f1868b8321.png 

 

Next.js 于 2016 年底开源发布,历经 7 年的发展,各种解决方案和社区生态已经十分完善。Next.js 更是于 2022 年底推出了支持 React Server Components 的颠覆性的 v13 版本。

在此版本,Next.js 推出了全新的 App Router 模式,同时优化升级了构建工具,为开发者带来了截然不同的开发体验。App Router 于 2023 年 5 月发布的 v13.4 版本进入稳定化。2023 年 10 月,Next.js 发布 v14 版本,Server Actions 也进入稳定化。这本小册便是基于目前最新的 v14 版本。

Next.js 提供开箱即用的 create-next-app脚手架,内置支持 TypeScript、ESLint,零配置即可实现自动编译和打包。支持服务端渲染(SSR)客户端渲染(CSR)静态站点生成(SSG)增量静态再生(ISR)、以及流式加载(Streaming)。v13 版本提供了基于 React Server Component 全新的路由解决方案 App Router 以及服务端数据更改方案 Server Actions,当然不止这些,Next.js 同时提供了现代 Web 应用开发常见的解决方案如:路由、渲染、中间件、数据获取、缓存、样式、国际化、元数据、Edge Runtime 等。

尽管是在业界非常受欢迎的框架,但 Next.js 文档在国内汉化方面十分落后,能搜到的中文文档基本都停留在非常老的版本且处于无人维护状态, 而 Next.js 官方文档早已全部重写,提供了多达百篇的详细介绍。加上 Next.js 2022 年底推出 v13 版本,提供了全新的功能,然而这些内容在国内也没有系统完整的介绍,能搜到的更多是单篇的粗略介绍,技术细节寥寥。

这就导致大家在使用 Next.js 的时候可以快速上手,但对于高阶的 API 却知之甚少。有更简单便捷的实现方案却不知道,对于一些细枝末节上的问题需要多次深入英文文档翻找,对于一些没有过多解释的地方更需要自己反复测试和理解,这无疑增大了使用 Next.js 的成本。

笔者曾经完整的整理过 TypeScript 文档,啃过 ECMAScript 规范,阅读英文文档倒也算顺畅,日常项目中也有在使用 Next.js,对于 Next.js 有一些自己的心得。为了帮助大家系统全面的掌握 Next.js,这本小册将分为“基础篇、实战篇、原理篇、面试篇”四大板块:

基础篇: 基于最新的 Next.js 官方文档,循序渐进讲解 Next.js App Router、高级路由功能、路由处理程序、中间件、数据获取与缓存、React Server ComponentStreamingEdge RuntimeTailwind CSS、内置优化组件、MDX、静态导出、路由段配置、环境变量、Draft ModeNext CLI 及配置项、国际化、常用 API 方法等内容。内容上力求做到详尽无遗漏,细节上添加多处解释和示例帮助大家理解,希望能将此本小册作为大家开发 Next.js 项目时的必备指导手册。

实战篇: 学技术尤其不能纸上谈兵,基础篇的知识细节也许过于零碎,实战篇的目的在于帮助你将这些知识融会贯通。我们会写 3 个完整的全栈项目,包括:

  1. React Notes 项目(目的在于深入理解服务端组件、客户端组件的特性)
  2. 博客项目(目的在于深入理解 Next.js 渲染方式与 MDX)
  3. 移动端 HTML5 项目 (仿 APP 样式,目的在于学习 Next.js 最佳实践)

相关的技术选型有 Ant Design + MongoDB + Mongoose + Redis + Nginx,会提供完整的源码供大家调试学习。

源码篇: Next.js 的源码阅读不算容易,我将从源码的角度帮助大家理解 Next.js 的运行原理与实现,让大家在使用 Next.js API 的时候,知其然知其所以然。遇到问题的时候,能追根溯源,彻底的解决问题。

面试篇: 最后,我会对面试中常问的 Next.js 相关问题做一份整理,告诉大家解题思路的同时提供一份自己的答案,帮助大家在面试的时候有所准备。

 

现在,低调务实优秀的中国好青年们,让我们一起开始学习 Next.js 吧!

你会学到什么?

  1. 循序渐进、系统全面的的建立 Next.js 知识体系;
  2. 学习 Next.js 最新的技术特性,了解技术前沿实践;
  3. 了解 Next.js 的运行原理,知其所以然;
  4. 一本可供开发 Next.js 项目时随时翻阅的技术指导手册;
  5. 一份关于 Next.js 的面试问题指导。

适宜人群

  • 有一定 React 基础,想进阶全栈开发的前端工程师;
  • 对 Next.js 感兴趣希望系统学习的同学;
  • 低调务实优秀的中国好青年。

82684a9a13c34a3dab9f3b1afd589f69.png

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/240071.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mesh 如何接线

水星 1900 mg 二手 约 40 一个 参考 https://post.smzdm.com/p/aoozepzr/ https://service.mercurycom.com.cn/article-1565.html

HTML5+CSS3+JS小实例:实时给中文添加拼音

实例:实时给中文添加拼音 技术栈:HTML+CSS+JS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"&…

nxp s32k144芯片使用J-LINK程序刷写

1.nxp s32k144 (1)打开软件&#xff1a;J-Flash V6.30j (2)新建工程&#xff1a;file->new project (3)选择芯片型号和 target interface (4)可以保存芯片和接口配置 (5)打开程序&#xff1a;File->open data file &#xff08;6&#xff09;程序刷写&#xff1a;T…

Node cool 跨域问题的解决

1.问题 自己在写后端接口的时候 发现一个接口在抖音小程序上可以调用 浏览器上也可以直接打开 但是在H5 的请求中 一直就是cors error 前端报这个跨域问题 在后端 报not Found 一开始以为是找不到 经过确定 发现是跨域问题 2.解决 在全局 configuration.ts 文件里有个全局…

自动驾驶轨迹规划之碰撞检测(二)

欢迎大家关注我的B站&#xff1a; 偷吃薯片的Zheng同学的个人空间-偷吃薯片的Zheng同学个人主页-哔哩哔哩视频 (bilibili.com) 目录 1.基于凸优化 2.具身足迹 3. ESDF 自动驾驶轨迹规划之碰撞检测&#xff08;一&#xff09;-CSDN博客 大家可以先阅读之前的博客 1.基于…

josef约瑟 电流继电器 DL-13/2 0.5 -1A 1NC, 1NO柜内安装,带附件

系列型号 DL-11电流继电器; DL-12电流继电器; DL-13电流继电器&#xff1b; 一、应用范围 DL-13/2电流继电器 板前接线为电磁式瞬动过电流继电器&#xff0c;它广泛用于电力系统二次回路继电保护装置线路中&#xff0c;作为过电流启动元件。 二、主要技术参数据 动作时间…

普冉32位单片机 PY32C642,M0+内核,1.7 V ~ 5.5 V宽工作电压

PY32C642 单片机采用高性能的 32 位 ARM Cortex-M0内核&#xff0c;宽电压工作范围。嵌入 24Kbytes Flash 和 3 Kbytes SRAM 存储器&#xff0c;最高工作频率 24 MHz。包含多种不同封装类型产品。工作温度范围为-40C ~ 85C&#xff0c;工作电压范围 1.7 V ~ 5.5 V。1 路 12 位A…

【开源】基于JAVA语言的民宿预定管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用例设计2.2 功能设计2.2.1 租客角色2.2.2 房主角色2.2.3 系统管理员角色 三、系统展示四、核心代码4.1 查询民宿4.2 新增民宿4.3 新增民宿评价4.4 查询留言4.5 新增民宿订单 五、免责说明 一、摘要 1.1 项目介绍 基于…

Kubernetes (K8S) 3 小时快速上手 + 实践

1. Kubernetes 简介 k8s即Kubernetes。其为google开发来被用于容器管理的开源应用程序&#xff0c;可帮助创建和管理应用程序的容器化。用一个的例子来描述&#xff1a;"当虚拟化容器Docker有太多要管理的时候&#xff0c;手动管理就会很麻烦&#xff0c;于是我们便可以通…

纯c++简易的迷宫小游戏

一个用c写的黑框框迷宫 适合新手入门学习 也适合大学生小作业 下面附上代码 总体思路 初始化游戏界面&#xff1a;设置迷宫的大小&#xff08;WIDTH和HEIGH&#xff09;&#xff0c;生成迷宫地图&#xff08;map&#xff09;&#xff0c;包括墙壁、空地、起点和终点。显示…

Maven 依赖传递和冲突、继承和聚合

一、依赖传递和冲突 1.1 Maven 依赖传递特性 1.1.1 概念 假如有三个 Maven 项目 A、B 和 C&#xff0c;其中项目 A 依赖 B&#xff0c;项目 B 依赖 C。那么我们可以说 A 依赖 C。也就是说&#xff0c;依赖的关系为&#xff1a;A—>B—>C&#xff0c; 那么我们执行项目 …

数据结构——二叉树(先序、中序、后序及层次四种遍历(C语言版))超详细~ (✧∇✧) Q_Q

目录 二叉树的定义&#xff1a; *特殊的二叉树&#xff1a; 二叉树的性质&#xff1a; 二叉树的声明&#xff1a; 二叉树的先序遍历&#xff1a; 二叉树的中序遍历&#xff1a; 二叉树的后序遍历&#xff1a; 二叉树的层序遍历&#xff1a; 二叉树的节点个数&#xff1a; 二叉…

【Maven】009-Maven 简单父子工程搭建

【Maven】009-Maven 简单父子工程搭建 文章目录 【Maven】009-Maven 简单父子工程搭建一、需求说明1、结构2、第三方库 二、工程搭建1、父工程第一步&#xff1a;创建父工程第二步&#xff1a;引入公共依赖 lombok 和管理 hutool 依赖版本 2、公共子模块第一步&#xff1a;创建…

uniapp 使用canvas制作柱状图

效果图&#xff1a; 实现思路&#xff1a; 1、通过展示数据计算需要画几根柱子&#xff1b; 2、通过组件宽度、高度计算出每根柱子的宽度及高度&#xff1b; 3、for循环依次绘制每根柱子&#xff1b; 4、绘制柱子时&#xff0c;先绘制顶部百分比、value值&#xff0c;再绘制柱子…

将台式机变为服务器,服务器设置静态IP的方法

一.查看IP: 同时按winR&#xff0c;输入cmd&#xff0c;打开终端。输入 ifconfig查看IP地址 查看网关: route -n二、配置静态IP地址 进入root权限 sudo -i进入.yaml文件&#xff0c;开始配置静态IP地址 vim /etc/netplan /*.yaml文件地址是/etc/netplan/01-network-manager-…

Invalid bound statement (not found)(xml文件创建问题)

目录 解决方法&#xff1a; 这边大致讲一下我的经历&#xff0c;不想看的直接点目录去解决方法 今天照着老师视频学习&#xff0c;中间老师在使用动态SQL时&#xff0c;直接复制了一份&#xff0c;我想这么简单的一个&#xff0c;我直接从网上找内容创建一个好了&#xff0c;…

PyTorch——torchtext与PyTorch匹配的版本

一、匹配版本的对照表 二、按照对应版本的命令 例子&#xff1a; pip install torchtext0.9.1参考资料&#xff1a; Torchtext and PyTorch s Version Compatibility

大模型背景下计算机视觉年终思考小结(一)

1. 引言 在过去的十年里&#xff0c;出现了许多涉及计算机视觉的项目&#xff0c;举例如下&#xff1a; 使用射线图像和其他医学图像领域的医学诊断应用使用卫星图像分析建筑物和土地利用率相关应用各种环境下的目标检测和跟踪&#xff0c;如交通流统计、自然环境垃圾检测估计…

服务网关 Gateway

服务网关 Gateway Spring Cloud Gateway 是 Spring Cloud 生态系统中的网关&#xff0c;它基于 Spring5.0 SpringBoot2.0 WebFlux&#xff08;基于高性能的 Reactor 模式响应式通信框架 Netty&#xff0c;异步非阻塞模型&#xff09;等技术开发。旨在为微服务架构提供一种简…

【Docker篇】使用Docker操作镜像

文章目录 &#x1f6f8;镜像&#x1f33a;基本操作⭐docker --help⭐docker pull [ 参数 ]⭐docker images⭐docker save -- 导出⭐docker rmi -- 删除⭐docker load -- 导入 &#x1f6f8;镜像 镜像是指在计算机领域中&#xff0c;通过复制和创建一个与原始对象相似的副本的过…