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

45 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第8天。
通过观看录播视频的学习,对于Next.js的知识点我总结为以下:
1.什么是Next.js?
Next.js是一套基于React的服务器端渲染框架。在React模块化的基础上可以实现代码自动分隔使页面加载更快,同时,Next.js永远以文件系统为基础的客户端路由,以webpack的热替换为基础的开发环境,使用React的JSX和ES6的module,让模块化和维护更加方便,也可以运行在Express和其他Node.js的HTTP服务器上,能够定制化专属的babel和webpack配置。

2.静态渲染SSG
静态渲染,即在编译时将页面渲染成HTML静态文件,这些静态文件可以放到CDN上。另外通过Next.js静态渲染的页面可以不使用数据,也可以使用数据。

3.服务端渲染SSR
Page页面也可以选择使用SSR来做预渲染,通过在Page组件中实现getServerSideProps即可。ssg页面在多次请求刷新后显示的时间不会变化,而ssr页面在每次刷新都会显示新的时间。

4.使用服务端渲染的好处
首先,服务端渲染可以很好解决SEO问题;其次是解决首屏白屏的问题,前端渲染经常使用的SPA会把所有JS整体打包,无法忽视的问题就是文件太大,导致渲染前等待很长时间,特别是 网速差的时候,让用户等待白屏结束并非一个很好的体验。

5.Next.js功能
·Link组件,方便路由 ·Image组件,优化图片加载 ·文件路径生成路由机制,动态路由使用[id].js这样的命令 ·SSR、SSG的同构开发模式(其实就是export一个对应名字的函数,在里面提前获取数据就好了) ·样式方面和create-react-app差不多