qian奇岸微信二维码 如您需要快速报价 请加技术经理微信 服务热线
13501992972
"MENU"
首页 > 行业新闻 > 正文

学习怎么应用服务端渲染

奇岸开发
ahqian.com
11/04/2022
wechat

无需加好友免费技术支持

创作者:Craig Bucklere全文:Build a Blog with React and Next.js(sitepoint) 篇幅:2500 字 (非直接翻译)阅读文章: 5min

小伙伴们好,在《动手练习》中应用 React 和 Next.js 做一个简单博客网站(上)和 出手训练,应用 React 和 Next.js 在这里两篇文章中,我们一起实现了一个简单的博客网站(中) MakeDown 博客网站的文件是具体内容页源,学习培训动态路由(Dynamic Routes)、Stat网络资源 Generation 本文学习怎么应用服务端渲染基本知识与应用。(Server-side Rendering)、客户端渲染(Client-side Rendering)最终,使我们谈一谈怎样编译程序项目及布署网址。

服务端渲染(SSR)产生在每一个页面要求中,其相关知识逻辑性,如 NodeJs 数据请求移交服务端,再将具体内容展现给浏览客户。因而,根据该方法,您可以做一些繁杂的领域模型,比如,每一个客户在成功登陆账号展现不同类型的文章。

在《动手练习》中应用 React 和 Next.js 在本文中,大家用了一个简单的博客网站(中)getStaticProps() 此方法在工程编译过程中(build)解决形成 MD 动态路由有关逻辑性。假如我们想应用服务项目3D渲染 getServerSideProps() 网络服务器在页面要求时实行此函数公式逻辑性,进行数据渲染。

在这儿,我们应该完成一个简单的作用 about.js 这一页面,请一个笑话网站API服务项目(就以服务端的方式规定数据信息,最终在数据处理方法结束后展现给客户。即日启程,使我们逐渐完成它。

1、现在我们 /pages/about.js 页面里加上 getServerSideProps() 大家在此方法中应用函数公式 node-fetch 控制模块,获得 API 数据信息后,根据 props 根据组件特性传送返回数据信息(请参阅第二点的有关编码),举例编码如下所示:

下面,使我们撰写组件 JSX 接受一部分 getServerSideProps() 回到数据库的实例编码如下所示

你可能会留意到以上编码早已用了 styled JSX 词法加上 CSS 款式。

在这儿,服务端渲染作用进行,我们可以通过 npm run dev 重新启动下 next.js 点一下电脑浏览器里的网络服务器 如图所示:

Next.js 编译程序的时间段(build time)在服务端进行页面要求或页面请求时 React 组件的3D渲染逻辑性,但是有些机器能交到手机客户端电脑浏览器,都是官方网手机客户端激话 (client-side hydration 不知道该怎么汉语翻译,临时那么叫吧,借用vue比如,我们应该完成黑喑和白天模式间的转换,接下来我们可以用它 React.useEffect() 该钩处理函数。

每个人要特别注意,在服务端,有一个关键点应注意,在服务端并没有 window 如下所示段编码所显示,这一高层目标在实施的时候会有不正确提示:

为了能修补这种情况,我们能取值初值null。

最先,大家新创建一个 components/themetoggle.js 黑喑和大白天访问方式的转换组件在这儿应用 useEffect() 该钩函数公式完成其逻辑性,举例编码如下所示:

因为服务端无法访问手机客户端方式的初值,首先我们把它复位为null,随后当组件取得成功载入到手机客户端时,大家使用这些 useEffect() 黑喑和白天模式的思路解决是钩子函数。你可能会留意到我独立列举了这一组件 CSS 文档,实际源码,您可点击文章内容结尾阅读文章初始连接,在工程的一体化源码中寻找对应的CSS连接。

2.最终,大家了这些组件 components/header.js 的

在组件中,举例编码如下所示:

下面,再次运作 Next.js 每一个页面都加了黑喑和大白天转换的方式作用 ,实际效果如下所示 GIF 动如图所示:

到现在为止,这儿阐述了一个完整的简易博客网站。如果你想在制造环境里布署网址,请尽快停靠在平台上 Ctrl | Cmd C , 随后实际操作下列指令:

编译程序结束后,你会发觉工程项目的网站根目录中拥有更多的新项目 .next 大家可以将文件夹的所有文件信息拷贝到文件夹中 Node.js 10 布署以上网络服务器。

你可以在这一文件夹中实际操作 npm run start,检测生产制造条件下的网站。

Next.js 容许你将目前网址形成静态数据 HTML 如果你为页面界定了页面(不仅需要网络服务器3D渲染的页面) getServerSideProps() 服务端渲染相关函数,导出来不成功。

具体如下,网址应该按照指令顺序形成静态数据页面:

编译程序结束后,您将于工程项目的网站根目录里看到它 out 如图所示:

文中为大家展现 Next.js 核心内容,完成博主的基本要素,那么你还可以继续改善博主的功效,尝试为博客网站加上下列作用 :

加上404页面配备,完成博主文章列表页面的分页查询作用,加上文章标签作用 SSR 试着从其他内容源获得网络文章(服务端)APIapi接口、wordpress等)出手训练,用 React 和 Next.js 做一个简单博客网站(上)

出手训练,应用 React 和 Next.js 做一个简单博客网站(中)

这儿阐述了这个案例。大家可以点击阅读原文并免费下载本实例的一体化源码。

Next.js 它是一个灵活多变的运用程序框架,能够帮助你搭建一切类别的运用程序框架 web 此项目容易满足博客网站的需要。Next.js 假如你了解这些架构,它已经相当666维护保养 React 挑选这一前端框架 Next.js 建设网站都将是一个不错的选择。

热度424

了解更多学习怎么应用服务端渲染欢迎联系奇岸开发客服。

奇岸开发可定制企业官网小程序、小程序商城、餐饮外卖小程序、预约小程序、多门店小程序、分销小程序及个人小程序。

微信二维码

微信长按识别或扫一扫,无需加好友直接咨询,企业网站开发、网站托管维护、企业管理系统开发、微信小程序制作、域名主机、网站备案、网站改版等提供专业技术解答。

精彩推荐

猜你喜欢