react 组件开发_使用React和Cosmic JS CMS进行基于组件的网站开发

news/2024/5/9 18:04:30/文章来源:https://blog.csdn.net/dfsgwe1231/article/details/107262516

react 组件开发

网站开发的一种常见方法是构建可在不同网页上重复使用的组件。 这种方法的好处是,通过管理组件而不是管理不同页面上的重复内容,您最终减少了重复工作。 流行JavaScript框架(例如React,Vue和Angular)在应用程序代码级别利用此概念取得了很大的成功。 我们如何从内容管理级别的这种方法中受益?

在本教程中,我将向您展示如何使用React和Cosmic JS CMS构建基于组件的网站。 目的是节省开发人员和内容管理员的时间,并提供可扩展的内容模型。

建立内容模型

*先决条件:本文假设您已了解Cosmic JS概念:对象类型,对象和元字段。 如果您需要重温这些概念,请转到“ 入门指南” 。

使用Cosmic JS对象类型和元字段,我们可以创建可在网站页面上使用的可组合组件。 对于我们的示例,我们将创建三种对象类型:

  1. 页数
  2. 节(页面中使用的组件)
  3. 团队成员(在“团队”部分中使用)

让我们看一下每种对象类型:

页数

所有页面将包括以下内容:

  1. 标题(文字)
  2. 内容(HTML Textarea)
  3. 节(多个对象关系元字段)

多个对象关系元字段将用于管理页面节。

团队成员

元字段:

  1. 名称(文本元字段)
  2. 图像(文件元字段)
  3. 引用(纯文本区域元字段)

栏目

Sections对象类型将更加动态,并允许使用不同的元字段。

队部

元字段:

  1. 标题
  2. 多对象关系元字段(团队)
  • 名称
  • 图片
  • 引用

添加您的团队成员:

注册部分
元字段:

  1. 标题(文本元字段)
  2. 图像(文件元字段)
  3. 内容(HTML元字段)
  4. CTA(文本元字段)

将部分添加到页面

既然我们已经设置了板块,我们可以将它们添加到页面中:

编码

现在我们已经保存了内容,让我们进行一些编码。 下载React启动器 :

gitclone https ://github.com/cosmicjs/react-starter

现在进入Page组件并对其进行编辑,如下所示:

// page.js
import SectionList from './section-list'
export default ({ page }) => (< div > <h1>{page.title}</h1><div dangerouslySetInnerHTML={{__html: page.content}}></div><SectionList sections={page.metadata.sections}/></div> 
)

如您所见,我们在Page对象上添加了Section List。 我们的“节列表”和“节”组件如下所示:

// section-list.js
import TeamSection from './sections/team'
import SignupSection from './sections/signup'
export default ({ sections }) => (< div >{sections.map(section => {if (section.metadata.team)return  <TeamSection section={section} />if (section.metadata.cta)return <SignupSection section={section} />})}</div>
)
// signup.js
export default ({ section }) => (< div > <h3>{section.metadata.headline}</h3><div dangerouslySetInnerHTML={{ __html: section.metadata.content }}></div><div><img src={section.metadata.image.imgix_url} /></div><div><button>{section.metadata.cta}</button></div></div> 
)
// team.js
export default ({ section }) => (< div > <h3>{section.metadata.headline}</h3> {section.metadata.team.map(person => {return ( <div key={person._id}><div>{person.metadata.name}</div><div>{person.metadata.quote}</div><div><img src={person.metadata.image.imgix_url} /></div></div>)})}</div> 
)

Section组件的输出由通过section prop传递的数据确定。

结论

Cosmic JS CMS是构建基于组件的网站的绝佳解决方案。 在我们的示例中,我们创建了一个页面对象,该页面对象具有连接到Sections对象类型的Multiple Object Metafield,以添加我们的Section组件。 这种方法的好处在于,我们现在可以在一个地方管理节内容,并且可以跨页面重用它,而不必进入每个页面来编辑重复数据。

希望您觉得这有用。 如果您还有其他疑问,请在Slack上加入我们的社区,并在Twitter上与我们联系。

兰斯·安德森 ( Lance Anderson)在Unsplash上拍摄的照片

翻译自: https://hackernoon.com/component-based-website-development-with-react-and-the-cosmic-js-cms-828213d48656

react 组件开发

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用React和Cosmic JS CMS进行基于组件的网站开发

网站开发的一种常见方法是构建可在不同网页上重复使用的组件。 这种方法的好处是&#xff0c;通过管理组件而不是管理不同页面上的重复内容&#xff0c;您最终减少了重复工作。 流行的JavaScript框架&#xff08;例如React&#xff0c;Vue和Angular&#xff09;在应用程序代码级…

程序员常用网站汇总(转载)

2019独角兽企业重金招聘Python工程师标准>>> 1. 社区 githubstackoverflowapacheinfoQ知乎相关专栏 知乎专栏推荐youtube相关频道利用以上网站的站内搜索&#xff0c;也许会获取更加满意的结果。 2. 各大IT公司技术博客 2.1 后端 阿里中间件团队博客美团技术团队博客…

大型网站技术架构(八)网站的安全架构

2019独角兽企业重金招聘Python工程师标准>>> 从互联网诞生起&#xff0c;安全威胁就一直伴随着网站的发展&#xff0c;各种Web攻击和信息泄露也从未停止。常见的攻击手段有XSS攻击、SQL注入、CSRF、Session劫持等。 1、XSS攻击 XSS攻击即跨站点脚本攻击&#xff08;…

web开发过程_我如何创建网站:Web开发过程

web开发过程许多人&#xff0c;尤其是初学者&#xff0c;认为开发网站纯粹是关于编码的&#xff0c;但事实并非如此。 如果您想创建一个像样的网站&#xff0c;还需要做很多其他事情。 当您实际使用代码或WordPress或其他CMS创建网站时&#xff0c;这只是一小部分。 当您完全了…

我如何创建网站:Web开发过程

许多人&#xff0c;尤其是初学者&#xff0c;认为开发网站纯粹是关于编码的&#xff0c;但事实并非如此。 如果您想创建一个像样的网站&#xff0c;还需要做很多其他事情。 当您实际使用代码或WordPress或其他CMS创建网站时&#xff0c;这只是一小部分。 当您完全知道网站的外观…

[514]使用httpstat测试网站响应时间

httpstat是用Python写的脚本&#xff0c;可以用来测试http服务器的回应速度。 httpstat本质上就是封装了cURL工具&#xff0c;所以它可以接受各种 cURL的选项。&#xff08;-w、-D、-o、-s与-S除外&#xff0c;因为这些已经被 httpstat使用了&#xff09; 安装httpstat 下载脚…

极限编程xp12个最佳实践_立即搜索40个最佳在线学习编程的网站

极限编程xp12个最佳实践如果您不熟悉编码&#xff0c;那么您会很高兴听到网络上有大量有用的资源来帮助全新的程序员从头开始学习编程。 实际上&#xff0c;该行业中一些最好的程序员是自学成才 &#xff0c;没有计算机科学的正式学位。 使用这40个编码站点向您展示初始的编码…

vux flexbox使用_如何使用Flexbox建立专业网站

vux flexbox使用我在Web开发方面的经验 在与Flex-Box会面之前&#xff0c;我对CSS在Web开发方面的经验感到沮丧。 计算页面的页边距&#xff0c;宽度&#xff0c;对齐方式和高度的经验非常吸引人。 这使我的Web开发经验没有吸引力。 只有在特定属性中精确地输入数值的想法&…

react admin_下一个网站的10个React Admin仪表板模板

react adminReact是Web开发库中最流行的工具之一&#xff0c;但是就像您需要学习如何正确使用它一样&#xff0c; React是其中之一。 React与本机一起使用。 主要目的是使力量能够响应本机移动应用程序的开发。 React native在开发人员社区中很流行。 它拥有一个强大而充满激情…

将网站部署到github上_如何使用GitHub Actions将多个站点部署到Firebase

将网站部署到github上欢迎回来&#xff01; 在本教程中&#xff0c;我们将学习如何使用GitHub Action自动将多个站点部署到Firebase托管。 GitHub提供了与其存储库集成的免费增值工具&#xff08;对于开源免费&#xff09; 。 我将使用在本教程的第1部分中创建的Get Reacted R…

编程 繁体编码_现在该是开始学习编码的时候了:2020年学习编程的前20+个最佳网站...

编程 繁体编码我敢肯定&#xff0c;我们中的许多人都想知道如何在大流行后的世界中留住相关专业人员。 显然&#xff0c;其中一种方法是学习编程。 现在&#xff0c;该行业的增长率为21&#xff05;&#xff08;高于任何其他领域&#xff09;&#xff0c;很明显&#xff0c;对优…

python网站开发实例 flask_基于Python-Flask实现的网站例子

使用说明 使用Flask制作的普通企业网站前台后台 包括管理员登录&#xff08; 主要是后台文章发布的功能的实现&#xff09;&#xff0c;注意&#xff1a;使用对象 是 flask的初学者&#xff0c;说明文档有详细的教程&#xff0c;包括包的引用 &#xff0c;程序目录如何安排关键…

建立网站需要什么条件_角点科技告诉你营销网站搭建需要什么条件?

营销网站搭建需要什么条件&#xff1f;营销型网站就是指具备营销推广功能的网站,在开始建站的时候就已日后的推广作为目的。让每一个环节,每一步都考虑到营销功能的需求,让网站一上线就具有利于优化推广的特征。但是很多人不了解营销网站搭建需要哪些条件&#xff0c;接下来就与…

c++cmath无法打开_C-NCAP网站是操作失误,莫让低级失误影响专业权威

12月23日&#xff0c;中汽中心C-NCAP进行了一次侧面碰撞测试后&#xff0c;发生了一件奇事。C-NCAP网站丢了&#xff0c;打不开了。于是&#xff0c;不少人好奇心大起&#xff0c;各种猜测由此而生。截至到现在&#xff0c;中汽中心C-NCAP官网竟然显示"暂时无法访问"…

aps mysql部署_宝塔Windows面板部署ASP、ASPX程序WEB网站环境方法

网友热度 118,060 ℃ - 2条评论老左在"宝塔Windows面板部署PHPMySQL环境建站过程"一文中简单分享到如何在Windows系统中安装宝塔面板(Windows)软件&#xff0c;然后配置PHPMYSQL程序的过程&#xff0c;如果我们单纯的是PHP程序的&#xff0c;其实我一贯建议直接用Lin…

php网站首页在哪,本地PHP网站session存储在哪

PHP配置文件中session.save_path负责session文件的存放位置。如果没有配置则不会生成session文件&#xff0c;如果配置的目录session.save_path "E:/ttt"不存在&#xff0c;则会报错&#xff1a;(推荐学习&#xff1a;PHP编程从入门到精通)Warning: session_start()…

openresty完全开发指南 pdf_京东高级工程师开发十年,编写出:“亿级流量网站架构核心技术”...

前言&#xff1a;相信大家都知道&#xff0c;说起亿万流量网站高性框架的设计方案&#xff0c;就能想到关键的两点&#xff0c;那就是高可用和高并发。而要谈对高并发和高可用有多熟悉&#xff0c;京东的大佬们还是有一定发言权&#xff0c;而作为京东高级工程师更是大佬级别。…

如何识别一个网站是正规合法的网站

参考来源&#xff1a;https://jingyan.baidu.com/article/642c9d341e53c6644b46f747.html 一、工信部备案信息查询 1.搜索“工信部网站备案查询”进入工信部网站。 2.进入工信部网站后点击右下角的“公共信息查询”。 3.进入ICP/IP地址/域名信息备案管理系统&#xff0c;点击左…

pip更新失败和下载速度慢问题(使用镜像网站)

本文内容&#xff0c;部分来源于网络 1.pip更新失败 https://blog.csdn.net/tscaxx/article/details/104253948 2.python pip下载速度慢的解决方法 ​ pip是python内置的非常好用的下载工具&#xff0c;基本可以下载全部的python库。它还有一个非常好的特点&#xff…

130 个相见恨晚的超实用网站,一次性分享出来

搞学习 CSDN&#xff1a; https://www.csdn.net/TED&#xff08;最优质的演讲&#xff09;&#xff1a;https://www.ted.com/谷粉学术&#xff1a; https://gfsoso.99lb.net/scholar.html大学资源网&#xff1a;http://www.dxzy163.com/简答题&#xff1a;http://www.jiandati.…