百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

一、nextjs 服务端渲染及环境搭建

off999 2025-02-10 13:53 37 浏览 0 评论

一、nextjs 服务端渲染及环境搭建

从今天开始,我们会出一系列的nextjs文章,助力您快速掌握这一前端框架的精髓。

我们知道,nextjs是基于react的服务端渲染的框架。所以必须要会 react

当然基于vue 的服务端渲染框架,也有,叫 nuxt,现在已经出了nuxt3了。

这个我们以后会讲,因为 www.helloworld.net 就是基于nuxt框架开发的。

只不过 nuxt2 升级到nuxt3, 时间并不算太长

更新还是很频繁的,所以打算晚点写nuxt3的文章。

什么是服务端渲染?

服务端渲染,也叫 SSR ,不是啥新技术,可以说最开始都是SSR。

10年前的PHP,JSP, ASP 的套模板技术,就是服务端渲染。

  • 为什么以前没有听过服务端渲染 这个词呢?

那是因为以前只有 服务端渲染 ,天天在用,就没有这个概念。

  • 现在什么强调这个词了呢?还起了个缩写叫 SSR

那是因为自从 vue, react 等这类框架出来以后,写网页的方式发生了变化

再具体点就是中心发生了变化。

以前怎么写?

以前写网页,是以 html, css 标签为中心,在一个html文件中,写一堆的 html标签, css样式

浏览器请求的时候,把这个html文件发送给浏览器 ,浏览器渲染出来。

现在怎么写?

现在写网页,是以 JS 为中心,以vue, react 这两个框架为代表,主要是写一堆的 JS ,

用vue, react写的项目,编译打包成了一堆的 js

浏览器请求的时候,实际上是请求了一个空的html文件 ,但是这个空的html文件,

会请求js 文件并执行 js 文件 , js文件执行完以后,就会生成一个完整的网页了,也就是一堆的html,css

是 浏览器执行JS 文件,动态生成的dom树,说白了就是动态生成了一堆的html标签 和css样式。

这就是客户端渲染 ,也起一个洋气的名字叫:CSR

现在的SSR和以前的有啥不一样?

10年前SSR怎么写?

其实就一句话:套模板 。

我们知道,10年前,套模板的技术,各家都有,JSP, PHP等,那时候,只是在PHP文件中,JSP文件中

写html标签,引入css文件等,里面再掺杂一些PHP代码,JAVA代码。主要就是为了一些动态数据需要,

因为要显示的数据,在数据库嘛,这些PHP代码,JAVA代码,就是干这事的,获取数据并把数据塞到模板里面来。

现在的SSR怎么写呢?

现在都是用vue, react这样的JS框架写,编译出来是 JS 文件,浏览器下载并执行JS文件,从成生成html文件 。这叫客户端渲染。

那么对应的服务端渲染就是在服务端这块,直接执行JS,生成html文件,然后再把html文件发送到服务端

总结:

和以前比还是有一些差别的。

现在的SSR,是在服务端执行JS文件生成html文件,获取数据就请求接口。

以前是套模板 ,执行的是PHP代码或者JAVA代码。

一句话总结, 服务端渲染和客户端渲染的区别 ?

html文件,是在服务端生成还是在客户端生成

解释:

  • 服务端渲染:html文件是在服务端生成,并且html文件中有已经写好的html标签和css样式
  • 客户端渲染:html文件是在客户端(浏览器 )生成,具体就是浏览器执行JS,生成一堆的html标签和css样式。

服务端渲染有什么好处?

  • SEO 需要, 这是最大的好处
  • 加载速度快

其实我最关注的就是 SEO ,因为主要解决的就是SEO问题。

而且 www.helloworld.net 也是要解决SEO问题,当时用了nuxt框架

这个框架我们以后再写相应的文章,这个大家可以关注一下。

谁来充当这个生成html文件的服务器呢?

这是一个很多人容易忽略的问题,之前我们公司也有遇到过。

之前我们公司有一个规定,线上服务器,不能跑node 。

可能是觉得 node 写服务,内部用用还行,真到线上,感觉还是不放心。

于是当时前端,后端的同学都在找相应的解决方案, Java , go 相关的方案都找过了。

就是在Java或者go 写的服务里面,内置一个 js 解析器。

搞了半天,这不还是需要JS引擎嘛,不管是v8也好还是其它的也好。

掩耳盗铃,还是离不开JS,想执行JS,除了浏览器 ,就是node了,还是离不开node啊。

最后又老老实实的换成了node,也就是nextjs 来做。至于规定嘛,还给领导了。

所以,在服务端充当生成html文件的服务,是用node写的,是node 服务

所以你的网站以后很可能是这样:

浏览器发起请求 --> 请求打到 nginx 服务器 --> 转到到 node 服务器 --> 请求接口服务器 --> 生成html --> 返回给浏览器

如下图:

回到正题 ,nextjs 环境搭建

首先是官网:一定要看官方文档

https://nextjs.org/

对环境的要求:

  • node 18.17 以上
  • macOS, windows, linux都可以。

安装完node,可以直接在命令行中执行以下命令:

第一步:执行以下命令

npx create-next-app@latest

1

输出以下,第一次可以全部选择默认选项

What is your project named? my-app
Would you like to use TypeScript? No / Yes
Would you like to use ESLint? No / Yes
Would you like to use Tailwind CSS? No / Yes
Would you like to use `src/` directory? No / Yes
Would you like to use App Router? (recommended) No / Yes
Would you like to customize the default import alias (@/*)? No / Yes
What import alias would you like configured? @/*

第二步:yarn install

切换到项目目录下,执行

yarn 或者 yarn install 

1

第三步:yarn dev

yarn dev

1

过几秒,你就会看到如下输出了。

浏览器中访问 : http://localhost:3000

就可以访问你的项目了。你的项目就成功的跑起来了。

总结:

本次只是照着官网把项目跑起来即可,nextjs 给我们提供了非常多的好用的功能 。

下一篇我们讲讲 nextjs 的路由功能,相比于react的,nextjs的路由非常好用和灵活。

如果你喜欢,持续关注,后续的文章。

相关推荐

win9系统下载链接(win101909版本怎么下载)
  • win9系统下载链接(win101909版本怎么下载)
  • win9系统下载链接(win101909版本怎么下载)
  • win9系统下载链接(win101909版本怎么下载)
  • win9系统下载链接(win101909版本怎么下载)
序列号官方查询(序列号查询工具)

华为提供了3个查询入口,华为官网、服务APP、华为终端客户服务公众号,您可选择其中一个入口查询设备权益信息。入口一、华为官网:登录华为消费者业务官网-服务支持-保修状态查询-填写序列号-查询-设备权益...

windows8度(windows8度盘符怎么设置)

小度音箱配置网络失败怎么办?1、小度智能音箱连接的路由器名称一定要是英文,不能有中文和符号,这个大家要注意一下。ZNSJW.cow2、路由器网络的选择也有讲究,我们要选用2.4G的网络,5G的是连不上...

系统集成项目管理工程师成绩公布时间

中级系统集成考试成绩一般需要一个月左右的时间才能出来。1、因为中级系统集成考试是比较复杂且专业的考试,需要对考生的各种能力进行综合考察,需要时间进行精细评估和核查。2、同时,中级系统集成考试的参加人数...

苹果序列号查询方法(苹果序列号查询方式)

苹果查序列号入口可登陆苹果官网checkcoverage.apple.com进行查询,具体步骤如下:1、打开手机设置,点击“通用”2、进入页面后点击“关于本机”;3、页面跳转后,我们就可以看到本机的序...

字根表五笔口诀(字根表五笔口诀如何理解)
字根表五笔口诀(字根表五笔口诀如何理解)

1区横起笔、G键:王旁青头兼五一;F键:土士二干十寸雨;D键:大三肆头古石厂;S键:木丁西边要无女;A键:工戈草头右框七。2区竖起笔、H键:目止具头卜虎皮;J键:日曰两竖与虫依;K键:口中两川三个竖;L键:田框四车甲单底;M键:山由贝骨下...

2025-12-23 04:51 off999

如何笔记本重装系统(笔记本重装系统的步骤)

重装系统就可以解决了,系统U盘制作及重装系统的操作步骤为:1.制作启动U盘:到实体店买个4-8G的U盘(可以要求老板帮忙制作成系统U盘即可省略以下步骤),上网搜索下载装机员U盘启动PE制作工具,将U盘...

win7旗舰版显卡驱动(win7电脑显卡驱动)

步骤如下:1、首先我们打开桌面,右键单击此电脑再右键菜单选择属性。2、进入属性界面,点击设备管理器进入。3、进入设备管理器界面,点击显示适配器。4、展开显示适配器,可以看到一般电脑又集成显卡和独立显卡...

进入ie浏览器网页官网(贴吧热门评论)

ie浏览器的网页版登录入口是about:blank,即为“空白页”。空白页也被称为首页,是登录的入口,是用户打开浏览器时默认打开的网页,主要包含个人主页、网站网页、组织或活动主页、公司主页等。没有手...

win7自动关机任务(win7创建自动关机任务)

1.取消定时自动关机任务的方法很简单。2.因为Win7系统有定时自动关机任务的功能,但是有时候我们并不需要这个功能,需要取消掉。取消的方法也很简单,只需要在系统设置中找到定时关机任务,然后将其关闭...

xp番茄花园纯净版(番茄花园xp sp2)

换一个GHO系统试试,最好硬盘先格式化一下,还是不行就用U盘启动,然后安装,番茄花园系统XP是一个基于WindowsXP的精简版操作系统,可以通过以下步骤进行安装:1.下载番茄花园系统XP的安装包...

网络适配器下载win7电脑版(榴莲感冒能吃不)

1、在设备管理器-网络适配器中选择你的网卡,点右键,选卸载,注意不要勾选『删除此设备的驱动程序软件』2、确认网卡从设备列表中消失,然后点击工具栏上的『扫描检测硬件改动』按钮,网卡会重新出现在设备列表...

黑苹果性能真的比win10好吗(黑苹果更流畅吗)

安装黑苹果的时候有一个小分区300多M,进PE用DG工具,把U盘中的EFI文件夹copy到那个小分区里就行了。为了保险最好将原来的300M分区里的文件备份一下!系统恢复失败,继续重装系统吧。安装步骤如...

win10系统升级win11(win10系统升级win11后无声音输出设备)

如果你是正版的操作系统的话,可以到微软的官方网站直接下载一个windows11的安装包,直接按下up的文件,它就会根据提示一步一步的安装,然后它就会直接升级到windows11了。如果你不是正版的操作...

thinkpad按f8进不了安全模式

可以通过系统预设进入安全模式,步骤如下:1、打开开始菜单栏,点击设置2、点击更新与恢复3、点击恢复-选择高级启动下的立即重启系统重启后就会提示选择启动的模式,这时选择安全模式即可。Bugch...

取消回复欢迎 发表评论: