首页 > 其他分享 >NextJS(青训营)

NextJS(青训营)

时间:2023-02-01 23:35:10浏览次数:41  
标签:请求 跳转 webp NextJS 服务端 青训营 路由 页面

nodejs应用场景

  1. 前端工程化(webpack vite esbuild beble……)
  2. web服务端应用(vercel)
  3. Electron跨桌面端应用(vscode)
  4. 优点:
    • 学习曲线平滑 开发效率较高
    • 运行效率相对较高
    • 社区生态及工具链成熟
    • 与前端结合的场景很有优势

nodejs运行时结构

node调试

image

借助于inspector工具可以查看内存使用情况,也就是内存泄漏等 或者是debug的操作

CSR SSR SSG

  1. CSR介绍
    image
    一次性加载完 首屏时间更长 服务端返回的html中没有内容 一般是前后端分离模式

  2. SSR介绍
    image

  3. SSG介绍
    image

  4. SSR和SSG的区别
    image
    ssr和ssg的好处
    image

ssr数据注入

image

getInitialProps

image
在页面当中点击link,会在客户端进行跳转 如果直接打开该页面,则会在服务端走

getServerSideProps

image
这个方法只会在服务器端走

getStaticProps

image
这个就是提到的ssg,也就是CDN加速,一般用于返回静态文件

CSS Modules

image
给类名加哈希

layout组件

image
image
image

路由配置

image
没有固定的文件来写路由,会根据文件名字自动生成路由
image

BFF

image
api中的文件(数据的搬运工,向cms中请求数据,将数据拼凑后返回给模板页面,并不处理数据)

路由跳转

image
提供了两种方式

  1. next/link的方法 在link中添加
  2. nextRouter ,使用useRouter钩子去跳转
  3. 原生的window.open,window.location都是可以的

header的修改

image
引入Header
image
定制每个页面的TDK

多媒体适配

image

大图优化

webp
image
webp格式的图片因为被处理过,所以图片体积会更小,但是图片的解析会更慢
我们一般都是苦于请求时间,也就是说,当我们在慢网时,那么使用webp很好,因为请求的更快了
但是如果在快网情况,300kb的webp和600kb的png请求并没有太大区别,反而webp的解析时间大于png
另外Webp存在着兼容问题

BFF层开发

image
nextjs不区分请求方式,这一点与express不同,我们可以在请求头中对method进行判断

调试

因为是在服务端走的,因此我们浏览器端的debug是不起作用的,因此我们可以使用
vscode提供的 Javascript Debug Terminal
image
之后在新打开的终端中重新启动npm run dev
如果我们还是想在浏览器中进行调试 那么我们可以使用npm run debugger命令,需要注意package.json文件中的配置信息
image
之后就会看到浏览器中服务端的控制台
image

Strapi cms

cms 数据管理平台,相对数据库的使用来说,更加容易理解,对于运营者来说更加方便,成本更低
image
子结构体中还存在结构体,一定要加上populate=deep才可以

文章分页实现

image
不需要我们去额外开发,默认我们带上参数之后就有

主题化配置

image
2023-02-01 23:17:43 星期三2

标签:请求,跳转,webp,NextJS,服务端,青训营,路由,页面
From: https://www.cnblogs.com/zx529/p/17077240.html

相关文章

  • 攒青豆 | 「青训营 X 码上掘金」主题创作
    当青训营遇上码上掘金题目介绍攒青豆现有n个宽度为1的柱子,给出n个非负整数依次表示柱子的高度,排列后如下图所示,此时均匀从上空向下撒青豆,计算按此排列的柱子能接......
  • 14--git常用操作 | 青训营笔记
    这是我参与「第五届青训营」伴学笔记创作活动的第14天学习资料git使用简易指南(bootcss.com)Git-Book(git-scm.com)公司使用Gitlab管理项目实践指南git思维导......
  • 13--linux常用操作 | 青训营笔记
    这是我参与「第五届青训营」伴学笔记创作活动的第13天Linux命令大全|菜鸟教程(runoob.com)1.ls命令ls可能是每个Linux用户在其终端中键入的第一个命令。它允许......
  • 12--go mod和go vendor的区别 | 青训营笔记
    这是我参与「第五届青训营」伴学笔记创作活动的第12天背景在家安装的环境可能路径和环境变量配的有些问题,导致项目import的包全部标红,gomodtidy显示导入包不在路径,......
  • 11--go mod遇到的小问题 | 青训营笔记
    这是我参与「第五届青训营」伴学笔记创作活动的第11天gopath不起作用 cannotfindmoduleprovidingpackagegithub.com原因:使用代理下载go包后后,出现了找不到包......
  • 10--限流技术学习 | 青训营笔记
    这是我参与「第五届青训营」伴学笔记创作活动的第10天简介所谓限流,就是指限制流量请求的频次。它主要是在高并发情况下,用于保护系统的一种策略,主要是避免在流量高峰导......
  • 9--Websoket学习 | 青训营笔记
    这是我参与「第五届青训营」伴学笔记创作活动的第9天简介WebSocket是基于TCP/IP协议,独立于HTTP协议的通信协议。双向通讯,有状态,客户端一(多)个与服务端一(多)双向实时响......
  • [ 7--MQ学习 | 青训营笔记]
    这是我参与「第五届青训营」伴学笔记创作活动的第7天概述消息队列(MessageQueue,简称MQ),指保存消息的一个容器,本质是个队列。消息(Message)是指在应用之间传送的数据,消息......
  • [ 6--JWT学习 | 青训营笔记]
    这是我参与「第五届青训营」伴学笔记创作活动的第6天JWT介绍JSONWebToken(orJWT)只是一个包含某种意义数据的JSON串。它最重要的特性就是,为了确认它是否有效,我们......
  • [ 5--Token学习 | 青训营笔记]
    这是我参与「第五届青训营」伴学笔记创作活动的第5天Token介绍Token,就是服务端生成的一串加密字符串、以作客户端进行请求的一个“令牌”。当用户第一次使用账号密码......