技能 | next.js服务端渲染技术

news2024/9/27 17:37:12

哈喽小伙伴们大家好,我是程序媛小李,今天为大家分享一项前端开发中比较主流的服务端渲染技术:next.js

首先,next.js是什么?

通俗来讲,它就是一个React框架,

它能干啥?它能实现服务端渲染.

什么是服务端渲染?

一句话它就是在服务端生成整个页面的内容,用户在客户端只需要发起一次请求就可以看到全部的页面内容(这里也暴露了一个问题:首屏加载时间长,大家想想为什么?),对于网站的SEO上有很大的帮助.

那么,我们为什么要做服务端渲染?

原因就太多太多啦!下面简单列举几个

1. 提高初次加载性能


更快的首屏渲染:SSR 可以将完整的 HTML 页面直接发送到客户端,这样浏览器可以立即展示内容,而不需要等待 JavaScript 加载和执行。这对于用户体验至关重要,尤其是在网络速度较慢或设备性能有限的情况下。
2. 改善 SEO


搜索引擎优化:搜索引擎的爬虫通常更容易抓取和索引服务端渲染的页面,因为它们已经包含了完整的 HTML 内容。这有助于提高网站的搜索引擎排名,特别是对于依赖搜索引擎流量的站点。


3. 提高社交媒体分享效果


开放图谱(Open Graph)和社交卡片:当页面是通过服务端渲染生成的时,社交媒体平台(如 Facebook、Twitter)可以直接抓取并显示正确的标题、描述和缩略图,这对于提高内容分享效果非常重要。


4. 支持更复杂的用户界面和交互


状态管理:在 SSR 中,你可以在服务器上处理复杂的业务逻辑和状态管理,然后将初始状态传递到客户端。这使得客户端的 JavaScript 可以在服务器提供的内容的基础上进行进一步的交互。


5. 支持不支持 JavaScript 的浏览器


增强兼容性:尽管现代浏览器普遍支持 JavaScript,但一些用户可能禁用了 JavaScript 或使用的是较旧的浏览器。服务端渲染确保即使在没有 JavaScript 的情况下,用户仍然能够访问和浏览页面内容。


6. 改善网站性能和用户体验
更快的内容交付:通过将 HTML 内容在服务器上预先生成并发送给客户端,减少了客户端渲染时间,从而提高了页面的响应速度和用户体验。

以上都是一些基础知识,接下来,才是我们的重点:怎么基于next.js实现服务端渲染?

首先,我们需要确定node.js的版本(一定要18.18以上!)

紧接着,我们进入官网

Getting Started: Installation | Next.js

这里选择使用APP router

然后按照官方文档去安装

执行这行命令

大家可以看到,我这里已经安装成功了,只要node.js版本合适,这里安装的时候一般不会出现问题

安装好之后,根据官方文档初始化项目

这里,大家按照自己的需求来选择相应的配置就可以

完成之后,在idea中打开创建好的项目

在终端执行这行代码

npm install next@latest react@latest react-dom@latest

完成之后,打开根目录下的oackage.json

添加如下目录:

{
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "lint": "next lint"
  }
}

然后,右键单击dev,启动项目,

在浏览器地址栏输入控制台启动成功的网址,看到如下内容,说明我们的配置没有问题

好啦,以上就是本期的全部内容,如果大家有疑问或者启动过程中出现了问题,也欢迎大家在评论区提出来,我们下期见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2104430.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VS-E5PH3006L-N3 600V 30A 高效低损耗整流器 二极管 电动 / 混动汽车电池充电的可靠之选

VS-E5PH3006L-N3参数特性: 反向电压(VR):600V,这表示该整流器在电路中能承受的最大反向电压为 600 伏特,超过此电压可能会导致器件损坏。平均整流电流(IF (AV)):30A&…

测试流程及注意事项,包括jemter和postman

一、接口测试需要考虑的地方有哪些? 1、考虑输入参数和输出参数的合法性,参数必填,默认值,参数长度和格式校验,边界等,图片长传考虑图片大小和格式。查询考虑数据排序,分页考虑分页显示等。 2…

linux 下一跳缓存,early demux(‌早期解复用)‌介绍

3.6版本以后的下一跳缓存 3.6版本移除了FIB查找前的路由缓存。这意味着每一个接收发送的skb现在都必须要进行FIB查找了。这样的好处是现在查找路由的代价变得稳定(consistent)了。3.6版本实际上是将FIB查找缓存到了下一跳(fib_nh)结构上,也就是下一跳缓存下一跳缓存…

【算法】蒙特卡洛模拟

一、引言 蒙特卡洛模拟算法是一种基于概率和统计理论的数值计算方法,通过随机抽样来近似复杂系统的概率问题。它以摩纳哥著名的赌场蒙特卡洛命名,象征着其基于随机性的特点。 二、算法原理 蒙特卡洛模拟算法的核心思想是利用随机抽样来估计一个函数的期望…

【SQL】删除表中重复数据的方法

很久之前我写入一张sql的数据表,它里面有很多重复的内容。然后我想只保留一条原始数据: 例如上面的时间,出现了很多重复值。 我最初用的是这种方法: SELECT * FROM table_name WHERE primary_key IN (SELECT max(primary_key)F…

2.4 SQL注入之高权限注入下

SQL注入之高权限注入 1.注入流程与上节实例相同 查询所有数据库名称 http://localhost/sqli-labs-master/Less-2/?id-2%20union%20select%201,group_concat(schema_name),3%20from%20information_schema.schemata查询数据库对应的表名 http://localhost/sqli-labs-master/Le…

JMeter之接口测试

在做接口测试之前,我们起码需要了解: 1、接口涉及的业务 2、接口的基本信息:访问地址、传值方式(Post 或 Get)、协议类型、域名或IP、端口、参数 3、接口参数是否加密或者有其他处理加工 很多时候,可能…

U8+ 提示子票区间开始输入不合法处理

手工做是否分包流转为是的商业汇票,提示如下: 处理方法: 第一步: 第二步 数据类型为数字,保存即可,填写值为1

STM32H7 串口 空闲中断 硬件FIFO 任意长接收 Hal库 IDLE

STM32H7 串口 空闲中断 硬件FIFO 任意长接收 Hal库 IDLE 由于工作原因好久不接触ST的芯片了,所以断更ST的东西了,不过偶尔玩玩也挺好的。 接着上篇继续说串口的事儿,这次是FIFO,STM32H7的串口都是带硬件FIFO,大小是发…

java重点学习-redis

一.redis 穿透无中生有key,布隆过滤nul隔离 锁与非期解难题。缓存击穿过期key, 雪崩大量过期key,过期时间要随机。 面试必考三兄弟,可用限流来保底。 1.1 Redis的使用场景 根据自己简历上的业务进行回答 缓存穿透、击穿、雪崩、双…

人工智能再次进化 善用AI提升营运效率

人工智能无疑为我们的生活带来不少便利,也为商界和社会发展作出了重大贡献。事实上,它的起源最早可以追溯到70年前,只可惜过往的 AI 技术尚未如现时般成熟,可以做到的事也远比现在少;直至近期的 AI 技术取得了重大突破…

Redis缓存预热方案详解:提升应用性能与用户体验

文章目录 引言1. 为什么需要缓存预热?2. 缓存预热的基本原理2.1 数据选择2.2 加载策略 3. Redis缓存预热方案设计3.1 方案概述3.2 数据选择3.3 加载策略3.4 实现方式 4. 测试与监控4.1 单元测试4.2 监控 5. 总结 引言 在现代Web应用中,缓存技术已经成为…

【并行计算】CUDA基础

cuda程序的后缀:.cu 编译:nvcc hello_world.cu 执行:./hello_world.cu 使用语言还是C。 1. 核函数 __global__ void add(int *a, int *b, int *c) {*c *a *b; }核函数只能访问GPU的内存。也就是显存。CPU的存储它是碰不到的。 并且核…

【技术解析】工厂内部导航系统:高精度定位与智能路径规划的技术实现

一、工厂内部导航系统概述 工厂内部导航系统集成了最新的GPS室内定位技术、蓝牙定位技术,实现了对工厂内部环境的无缝覆盖与高精度定位。无论是繁忙的生产线、错综复杂的仓库还是广阔的厂区,都能轻松应对。 二、工厂内部导航系统核心功能 实时定位&…

PromptReps: 解锁LLM的检索力量

论文:https://arxiv.org/pdf/2404.18424代码:https://github.com/ielab/PromptReps机构:CSIRO、昆士兰大学、滑铁卢大学领域:retrieval、embedding model发表:arXiv 当前大型语言模型用于zero-shot文档排序的方法主要有…

台球助教系统开发概述:技术架构与功能实现

在现代体育训练领域,技术的融合正不断推动运动教学方式的革新。台球,作为一项集策略、技巧与心理素质于一体的运动,其教学过程的优化显得尤为重要。因此,开发一套高效、智能的台球助教系统,旨在通过技术手段提升学员的…

【微处理器系统原理与应用设计第五讲】再探Cortex-M4处理器结构、总线、异常与中断、SysTick

一、处理器结构 如下图所示,主要包括处理器内核、嵌套向量中断控制器(NVIC)、系统节拍定时器(SysTick)以及可选的浮点单元,还有一些内部总线系统、可选的存储器保护单元(MPU)以及支…

【AI】前向和反向传播的关系

这个例子来自ChatGPT,很有趣的解释了一个模型在trian的过程中前向传播和反向传播的过程。 其中Sigmoid的导数是 自身乘以1-自身的结果。 这也是上述式子中为什么有0.622*(1-0.622)。

Android Telephony总结

1、Telephony 业务介绍 Android telephony涉及较多模块 1.1、STK业务介绍 1.1.1、STK域选 1.1.2、是否支持STK Telephon STK-CSDN博客 1.1.3、STK应用的安装卸载 1.2、SS补充业务 1.3、通话业务 1.3.1、紧急号码 ECC 号码总结_ecc号码-CSDN博客 1.4、SMS 1.4.1 短信发送方式…

相亲交友系统如何运用算法匹配理想伴侣

在数字化时代,相亲交友系统已经成为寻找理想伴侣的重要途径。作为程序员,我们致力于通过先进的算法,为用户提供精准的匹配服务,让相亲交友变得更加高效和有趣。 相亲交友系统的核心在于算法,我们的团队运用了多种算法…