这是我参与「第五届青训营 」笔记创作活动的第11天
tip:next.js适用于C端应用(面向互联网),不适应B端应用(管理者)。
CSR, SSR, SSG(三种渲染方式)
CSR客户端渲染,前后端分离,适合B端 SSR服务器渲染,适合C端 SSG静态站点生成,依赖CDN,减少服务器压力,但是项目偏静态展示。
什么是 Next.js
React版SSR框架,Next.js提供api
Next.js 客户端开发
初始化npx create-next-app@latest --typescript
配置文件next.config.jsnextjs
数据获取
getServerSideProps 服务端渲染
指定页面渲染模式是 SSR
getStaticProps 静态站点生成(构建时执行)
指定页面渲染模式是 SSG
getStaticPaths 静态站点生成(构建时执行)
涉及动态路由时使用
CSS modules
原生支持 CSS modules
指定 CSS 文件为 *.module.css 启用
作用:每个文件都是唯一的css,名字可一样。
文件式路由
pages文件夹内的文件自动被视为路由 pages/api文件夹内文件自动被视为服务器端接口
路由跳转
link(next/link) useRouter(next/router)
header 设置
Head(next/head)
多媒体适配CSS 适配
利用 CSS 变量和媒体查询实现 @media screen and (max-width: 1000px) 或使用 JS 实现组件适配
大图优化
使用 webp 图片 可以使用在线转换器
Next.js 服务端开发
CMS:
Strapi编写CMS的api 具体:strapi.io/
文章页:
主题化:
通过修改scss全局变量,用tools,甚至把参数暴露给用户,实现个性化。思考:多进程同步,注入数据