Next.js实战项目 | 青训营笔记

74 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第7天,Next.js是基于react的服务端渲染的框架,服务端渲染有利于SEO优化,将组件页面通过服务器生成html字符串,发送到浏览器,由服务端把渲染的完整页面给客户端,可以减少一次客户端到服务端的一次http请求,加快了响应速度,可以加快首屏优化时间。
Next.js拥有完善的react项目架构,自带数据同步策略,使用npx create-next-app@latest安装创建Next.js的命令,npx eate-next-app@latest创建新的项目,目录文件中的page文件夹用来配置路由,不需要配置路由,内建提供了 link 类型组件(LinkNuxtLink),当使用这个组件替代 <a></a> 标签进行路由跳转时,组件会检测链接是否命中路由,如果命中,则组件出现在视口后会触发对对应路由的 js 等资源的加载,并且点击跳转时使用路由跳转,不会重新加载页面,也不需要再等待获取渲染所需 js 等资源文件。具有两种预渲染模式,基于编译时的静态渲染服务端渲染 SSR。在同一个 Next.js时混用两种预渲染方式,即部分页面使用静态渲染,部分页面使用 SSR。
Next.js没有客户端的生命周期,只有一个静态方法getInitialProps,在这个方法里面可以去调用接口或者页面初始化的方法。对于Next.js有优化措施,可以开启gzip压缩,通过network查看资源实际大小,开启nginx优化会有明显的效果。在页面加载过程中,对一些组件模块可以进行动态导入,框架层面会帮我们分包。支持图片压缩和懒加载优化图片资源,还可以进行静态资源预加载,减少http请求数量,快速的渲染增强了用户体验。
Next.js具有丰富的插件提供各种功能,数据同步功能,是一个不错的选择,它的发展前景也是很不错的。