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

292 阅读3分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 9 天

文件式路由

Nextjs 有一个基于页面概念的基于文件系统的路由器。当一个文件被添加到 pages 目录中时,它会自动作为一个路径可用

BFF层的文件式路由

BFF,作为服务器构建包,不影响客户端构建 bundle 体积相同的 router 生成方式,不过是作为 API 层访问,而不是 page。

路由跳转

next/link 跳转方式

useRouter 跳转方式

Header的修改

可用于修改TDK (title,description,keywords

这三个是c端开发中有利于SEO最重要的三个点

Strapi - headless CMS

仓库: github.com/strapi/stra…

初始化: npx create-strapi-app my-project --quickstart

一个接口的生成有以下几个过程:

1.content-type builder 编辑结构体

2.content manager 配置数据源,并且发布

3.settings roles 里选择对应角色并勾选要发布的接口类型

4.如果涉及嵌套,在接口后加上 populate=deep 参数(npm install strapi-plugin-populate-deep没安装加参数 populate=* ,但只能嵌套一层-save)

文章页实现

1.页面 & 动画 & 多媒体适配

  1. BFF

3.Strapi 分页 (/api/articles?pagination[page]=1&pagination[pageSize]=10 // 按10个/页分页,返回第一页的数据)

4.多媒体格式的转换

markdown 转 html: npm install showdown --save

  • html 转 dom: dangerouslySetlnnerHTML

公共样式的定义

主题化功能实现

1.基础样式和背景的抽离

2.主题化 context 全局注入

3.从注入数据中取出 theme 和 setTheme

4.多进程间的主题同步

思考题: http://localhost:3000,和http://127.0.0.1:3000 主题可以共享吗

答:

一、原理不同

localhot的原理是不经网卡传输,不会受到网卡协议的限制。设置程序时本地服务用localhost,localhost不会解析成IP,也不会占用网卡、网络资源。

127.0.0.1的原理是经过网卡传输的,依赖网卡协议,并受到网卡相关协议的限制。使用IP访问的时候,等于本机是通过网络再去访问本机,会涉及到网络用户的权限。

二、概念不同

localhost:也可以叫是local,正确的解释是:本地服务器的意思。它可以被配置为任意的IP地址可以通过hosts这个文件进行更改,不过通常情况下都指向:127.0.0.1

127.0.0.1:在windows系统的正确解释是:本机地址的意思。127.0.0.1是保留地址之一,用来检验本机TCP/IP协议栈,可以Ping回送地址。如果回送地址Ping不通,就说明IP堆栈出了故障。如果通的话,表明网络出了问题。

三、指向不同

localhost 是一个保留域名(RFC 2606) ,为了避免同狭义定义主机名混淆而单独列出。它不仅指向 127.0.0.1 这个IP地址,它同时还可以指向ipv6 的地址 。

127.0.0.1 是回送地址,指本地机,测试使用。回送地址(127.x.x.x)是本机回送地址(Loopback Address),即主机IP堆栈内部的IP地址,主要用于网络软件测试以及本地机进程间通信,无论什么程序,一旦使用回送地址发送数据,协议软件立即返回,不进行任何网络传输。

来自www.xiaohulizyw.com/1129.html