前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【腾讯云 Cloud Studio 实战训练营】快速构建React完成点餐H5页面

【腾讯云 Cloud Studio 实战训练营】快速构建React完成点餐H5页面

原创
作者头像
香菜聊游戏
发布于 2023-08-10 01:14:33
发布于 2023-08-10 01:14:33
31700
代码可运行
举报
文章被收录于专栏:香菜聊游戏香菜聊游戏
运行总次数:0
代码可运行

一,前言

1.1 相关链接

官网地址:Cloud Studio

官方文档地址:Cloud Studio(云端 IDE)简介 | Cloud Studio

1.2 Cloud Studio(云端 IDE)简介

Cloud Studio 是基于浏览器的集成式开发环境(IDE),用户在使用 Cloud Studio 时无需安装,随时随地打开浏览器就能在线编程,给开发者带来极大便利。

Cloud Studio 作为在线 IDE,包含代码高亮、自动补全、Git 集成、终端等 IDE 的基础功能,同时支持实时调试、插件扩展等,可以帮助开发者快速完成各种应用的开发、编译与部署工作。

1.3 实验介绍

我们经常会遇到远程办公的场景,下面我们用云 IDE Cloud Studio 快速搭建,并开发还原一个移动端 React H5 的简版点餐系统页面,从 0 到 1 体验云 IDE 给我们带来的优势,不需要装各种环境,简单易用,开箱即可上手。

最终效果如下:

二,开发前准备

2.1 打开官网

点击以下链接跳转到官网,并点击“注册/登录”。

Cloud Studio官网:https://www.cloudstudio.net/

2.2 注册 Cloud Studio:

这里注册和登录 Cloud Studio 非常方便,提供了三种注册方式:

  • 使用 CODING 账号授权注册/登录(本文使用方式)
  • 使用微信授权注册/登录
  • 使用 GitHub 授权注册/登录

我选的微信,点击微信按钮,扫描弹出的二维码授权登录。

授权成功后,可以跳转到 Cloud Studio 首页,可以看到 Cloud Studio 提供了很多模板(框架模板、云原生模板、建站模板),都是开箱即用的模板,同时 Cloud Studio 也对所有新老用户每月赠送 3000 分钟的工作空间免费时长。

本项目使用React框架,可以直接点击React模板,即可开始初始化一个 React 的工作空间,等待一会后,就会初始化完成得到一个React项目文件。

到此,可以发现我们如果用一台新主机,只要有浏览器,不需要准备任何环境,不需要安装任何软件,只需要能够联网,就能在几分种内初始化一个 React 项目,这是非常简单方便的。

三,开发一个简版的点餐系统

主旨是为了开发一个 React H5 的页面,为了快速开发,常会使用到UI组件库,这里我们使用的是 antd-mobile UI库,antd-mobile 是 Ant Design 的移动规范的 React 实现。

3.1 安装 antd-mobile

antd-mobile 支持基于 Tree Shaking 的按需加载,大部分的构建工具(例如 webpack 4+ 和 rollup)都支持 Tree Shaking,所以绝大多数情况下你无需做额外的配置即可拥有较小的包体积。

$ yarn add antd-mobile@^5.32.0

# or

$ npm install --save antd-mobile@^5.32.0

3.2 安装 Less

平时我们在进行React项目开发的时,可能会使用到Less、Sass进行样式开发,默认 React 是集成Sass的,因此对于习惯书写Less的小伙伴十分不友好,所以我们需要在React项目中配置Less。

安装 less 和 less-loader :

yarn add -D less@^3.12.2 less-loader@^7.0.1

这里注意不带版本安装为高版本,项目会启动失败。

3.3 暴露 webpack 配置文件

在webpack.config.js中进行配置,这样进行配置需要暴露出React的config配置文件,警告:该操作不可逆。

npm run eject

输入 'y' 后,项目会自动进行解构操作。

完成命令之后,项目根目录会出现一个config文件夹,里面是一些配置相关的脚本,也可以看到 package.json 中多了很多属性值,如 "dependencies".

找到 config/webpack.config.js 文件,键盘点击"Ctrl+F",在输入框中搜索"style files"。

在此添加下面两行代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const lessRegex = /\.(less)$/;

const lessModuleRegex = /\.module\.(less)$/;

然后继续在搜索框中输入"sassRegex"

仿照sass的配置,进行less的配置。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// less
{
  test: lessRegex,  // 有改动
  exclude: lessModuleRegex,  // 有改动
  use: getStyleLoaders(
    {
      importLoaders: 3,
      sourceMap: isEnvProduction
        ? shouldUseSourceMap
        : isEnvDevelopment,
    },
    'less-loader'  // 有改动
  ),
  sideEffects: true,
},
{
  test: lessModuleRegex,  // 有改动
  use: getStyleLoaders(
    {
      importLoaders: 3,
      sourceMap: isEnvProduction
        ? shouldUseSourceMap
        : isEnvDevelopment,
      modules: {
        getLocalIdent: getCSSModuleLocalIdent,
      },
    },
    'less-loader'  // 有改动
  ),
},

这样就完成了webpack.config.js配置less,可以在项目中使用less样式了。

3.4 安装 normalize

Normalize.css 是CSS重置的现代替代方案,可以为默认的HTML元素样式上提供了跨浏览器的高度一致性。相比于传统的CSS reset,Normalize.css是一种现代的、为HTML5准备的优质替代方案。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn add -D normalize.css@^8.0.1

以前上传服务器代码,需要使用 Scp 命令或者装 Remote SSH 插件支持,Cloud Studio 可以很方便默认支持文件上传与下载等常规的操作,与本地 IDE 体验一致:

可以直接拖动文件到 IDE 编辑区域(本文使用方式)

右击 IDE 编辑区域"上传"

直接将 img 文件夹拖动到src目录下即可。(点击下载img压缩包)

3.5 替换App.js主文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
v>
                    <div className="cart">
                      <img style={{
                        display: 'block',
                        width: '30px',
                        marginRight: '5px'
                      }} src={ CartImg } onClick = { () =>
                        Toast.show({
                          content: '添加购物车成功'
                        }) }></img>
                    </div>
                  </div>
                )
              })
            }
          </div>
        </div>
      </div>
 
      <TabBar>
        {tabbars.map(item => (
          <TabBar.Item
            key={item.key}
            icon={item.icon}
            title={item.title}
            badge={item.badge}
          />
        ))}
      </TabBar>
    </div>
  );
}
 export default App;

在 src 目录下,创建一个 index.less 文件,将以下 less 相关的代码复制到该文件中即可。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

.head-card {
  padding: 10px 20px;
  box-sizing: border-box;
}
 
.flex-center {
  display: flex;
  align-items: center;
}
 
.product-box {
  display: flex;
  align-items: center;
  width: 100%;
  height: calc(100vh - 45px - 130px - 50px);
}
 
.product-right {
  flex: 1;
  height: 100%;
}
 
.product-title {
  font-family: PingFangSC-Regular;
  font-size: 14px;
  color: #000000;
  text-align: left;
  padding-bottom: 10px;
}
 
.product-list {
  height: calc(100% - 24px);
  overflow-y: auto;
}
 
.product-item {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 10px;
  box-sizing: border-box;
  margin-bottom: 10px;
  &-left {
    display: flex;
    &-info {
      padding-left: 3px;
      box-sizing: border-box;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      &-name {
        font-family: PingFangSC-Regular;
        font-size: 14px;
        color: #000000;
        text-align: left;
      }
      &-number {
        padding-top: 3px;
        font-family: PingFangSC-Regular;
        font-size: 11px;
        color: #787878;
        text-align: left;
      }
      &-price {
        font-family: PingFangSC-Regular;
        font-size: 18px;
        color: #FF1800;
        text-align: left;
      }
    }
  }
}
 
.cart {
  position: absolute;
  right: 10px;
  bottom: 0;
}

复制完成后,在控制台中输入 yarn start即可启动该项目。

  • Cloud Studio 内置预览插件,可以实时显示网页应用,当代码发生改变之后,预览窗口会自动刷新,即可在 Cloud Studio 内实时开发调试网页了
  • 因为本项目是移动端H5的项目,所以需要打开“toggle device”按钮(下图中黄色标注)查看样式。
  • 提供了二唯码在手机端进行调试(下图中绿色标注)。
  • 点击下图中红色标注可在浏览器中打开页面,复制其中地址可分享给其他人员查看页面(无需任何配置)。

3.6 发布仓库

发布前,先填写README.md文件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 项目说明
 
这是一个用 IDE [Cloud Studio](https://www.cloudstudio.net/?utm=csdn) 快速搭建,并开发还原一个移动端 React H5 的简版点餐系统页面,从 01 体验云 IDE 给我们带来的优势,不需要装各种环境,简单易用,开箱即可上手。
 
## 相关技术栈
 
React + less + webpack
 
## 项目运行
 
yarn install
yarn start

左边功能菜单区找到“源代码管理”。

点击上图中"初始化仓库"按钮或使用 "git init" 进行仓库初始化。

git init

输入需要提交的message信息,再点击"Commit"进行仓库提交。

输入github邮箱和用户名

这里可以选择将代码托管到GitHub还是CODING,我选择的是GitHub

或者在这里点击设置图标添加关联账号

点击"Publish Branch"按钮,出现关联的账户,选择想要上传的账户名称

​​​​​

至此,项目就上传到了GitHub上了。

四,开发空间

在 Cloud Studio 云端 IDE 的工作空间列表页面,您可以运行、停止、删除和恢复工作空间。

4.1运行

单击对应的工作空间卡片,就会在新的页面打开并运行该空间,此时该工作空间卡片上会显示“运行中”状态。

4.2停止

对于处在“运行中”状态的工作空间,单击卡片右边的【停止】,就可以停止运行该工作空间。

4.3删除

您可以删除未运行的工作空间,单击工作空间卡片右下角的【删除】即可删除。

为了防止误删除,已删除的工作空间会展示在下方“已删除的工作空间”列表中,保留24小时。在此之前您可以随时单击【恢复】,还原您的工作空间,超过 24 小时未恢复的工作空间将被永远销毁。

五,总结

5.1 特点总结

1.云端开发:Cloud Studio 是基于浏览器的集成式开发环境(IDE),为开发者提供了一个永不间断的云端工作站,只要有浏览器就可以使用。Cloud Studio 还支持您连接自己的云服务器,这样就可以在编辑器中查看云服务器上的文件,进行在线编程和部署工作。

2.预置环境:使用 Cloud Studio 的预置环境,可以直接创建对应类型的工作空间,快速启动项目进入开发状态,无需进行繁琐的环境配置。

3.实时调试网页:Cloud Studio 内置预览插件,可以实时显示网页应用。当您的代码发生改变之后,预览窗口会自动刷新,这样您就可以在 Cloud Studio 内实时开发调试网页了。

4.多种模板:开发者一键即可创建一个对应语言体系的模板文件,直接开发,操作简单,省时省力。

5.插件扩展:若默认的配置无法满足需求,可以在线安装 VS Code 插件来增强使用体验。

5.2 优化建议

1.提供更加详细的文档:当前网站的帮助文档较为简略,各种可能性不是很全面。

2.建议可以同时打开多个空间模板:目前打开一个空间模板就要关闭另一个正在运行的模板。

3.提供更加优化的性能和稳定性:目前网站的性能和稳定性还有进一步提升的空间,有时候可能会出现一些卡顿和崩溃等问题。为了提高用户的使用体验,建议考虑优化平台的性能和稳定性。

4.目前支持语言有限,可以集成更多语言。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
交易所撮合引擎原理及实现代码
交易撮合引擎(Matching/Trading Engine),顾名思义是用来撮合交易的软件,广泛地应用在金融、证券、加密货币交易等领域。交易引擎负责管理加密资产市场中所有的开口订单(Open Orders),并在发现匹配的订单对(Trading Pair)时自动执行交易。本文将首先介绍有关加密资产交易撮合引擎的基本概念,例如委托单、交易委托账本等,然后使用Golang实现一个原理性的撮合引擎。如果你正在考虑实现类似交易所(Exchange)这样的产品,相信本文会对你有很大的帮助。
用户1408045
2019/07/24
12.6K0
基于区块链的...
DeFi(Decentralized Finance),即去中心化金融,是2019年区块链应用发展 最迅猛的一个领域。在以太坊区块链上那些最成功的DApp,例如MakerDAO/DAI、Compound、0x 以及下面我们要介绍的那些,其目标都是颠覆传统的金融服务系统,促进一个全新的数字 经济时代的到来,让每个人都可以获得极大的经济自由度。本文将介绍DeFi的作用、 优势、演化历史、dApp架构等有关DeFi的重要概念,可以帮助你快速了解2019年区块链 的热门概念:DeFi。
用户1408045
2019/05/22
1.5K0
EOS智能合约开发和测试框架EOSFactory
自2017年秋季以来,Tokenika一直致力于创建基于Python的EOS智能合约开发平台,以便轻松创建,测试和部署智能合约。随着EOS的不断发展,我们已经习惯了其基础代码的突然变化,并且随着我们的进展而逐渐减少诅咒;)今天,这一天终于来了,我们非常高兴能够将我们的工作交给EOS社区。我们的新生婴儿将以EOS Factory的名义出现,旨在成为一个完整的,完全记录的跨平台IDE,使用简单的命令行界面,你将能够:
笔阁
2018/12/10
1.1K0
书单丨系统理解区块链技术,我推荐这10本书
中央政治局讲解人、浙大教授、中国工程院陈纯院士作序推荐。强化区块链基础研究,提升原始创新能力,共同把握时代赋予的给予。
博文视点Broadview
2020/06/10
3.4K0
书单丨系统理解区块链技术,我推荐这10本书
如何用一个交易给多个地址转以太币或ERC20代币?
有时候你可能希望在一个以太坊交易中向数百甚至上千个地址转以太币或者ERC20代币,但是以太坊的原生接口只支持一对一的转账,如果你采用循环的方式逐个执行转账交易,将耗费大量资金来支付gas,而且有可能超过单个区块的gas上限。本文将介绍如何只支付一次交易费就可以向多个地址发送以太币或ERC20代币。
用户1408045
2019/09/23
3.3K0
Hyperledger Fabric和VSCode的IBM区块链扩展开发智能合约
了解使用IBM Blockchain Platform的VSCode扩展来简化开发,测试和部署智能合约的过程。完成本教程后,你将了解如何使用VSCode在本地Hyperledger Fabric网络上快速开发,演示和部署区块链应用程序。本教程假设你对Hyperledger Fabric有一些基本的了解。
笔阁
2019/04/18
3K0
Hyperledger Fabric和VSCode的IBM区块链扩展开发智能合约
数字货币交易行为的可视化分析
理解中心化数字货币交易平台上的交易行为需要对它的几种钱包地址进行分析,本文采用可视化的方法来展示不同类型钱包地址之前的交易模式。
用户1408045
2019/09/23
2.4K0
数字货币交易行为的可视化分析
如何面试中判断区块链以太坊工程师是否优秀 原
对优质区块链开发人员的需求很大,这是有充分理由的。区块链和ICO领域在过去几年中爆炸式增长。越来越多的人试图进入并在该领域中扬名立万。但是,为了获得成功,他们拥有一支强大而健全的团队至关重要。区块链开发人员,更准确地说,以太坊开发人员是该团队中最关键的组成部分。
笔阁
2018/10/25
1.5K0
Blockchain和Tangle哪一个是未来?
2017年是加密货币热潮令人难忘的一年。从那时起到现在世界没有任何改变,但今天我们对加密货币仍然很兴奋。乐观主义者认为,比特币将从根本上改变世界各地的支付,经济甚至政治。最乐观的支持者甚至开始抵押他们的房子以购买比特币。悲观主义者声称比特币是一个泡沫,不可避免地会遭遇崩盘。无论比特币发生什么,支持加密货币的技术仍将是真正的结构转型,可能会像20年前的互联网成为影响这个世界的发展一种方式。
笔阁
2018/11/21
1.1K0
8个最好的加密货币市场实时价格PHP脚本集 原
最好的PHP加密货币市场价格实时脚本script集。这些脚本显示实时报价,交易,历史图表,加密交易和超过2000种加密货币通过PHP和JavaScript进行交易。
笔阁
2018/12/10
2.9K0
8个最好的加密货币市场实时价格PHP脚本集
                                                                            原
区块链课程
汇集最新实战区块链课程包括比特币、以太坊、EOS、Hyperledger Fabric、Tendermint,开发语言覆盖java、php、c#、node、go、c++,一对一在线答疑。区块链课程中既有面向初学者的内容如核心概念、区块链交互,也有核心应用如交易、转账、钱包、代币发行等。是不是很激动?赶紧去看看吧。
笔阁
2019/06/19
4K0
区块链课程
一个EOS区块链RPC API接口的PHP SDK包
作为我们Block Producer对社区利益的承诺的一部分,我们希望专注于构建有助于提高EOS平台采用率的工具/应用程序。与大多数大型应用程序一样,当你只有少量或过时的文档并且缺乏工具来帮助你进行入门学习时,可能就会存在很高的进入门槛。
笔阁
2018/11/21
9600
使用Hyperledger Fabric和Composer实现区块链应用程序
目前无法绕过技术领域的是区块链话题。但除了加密货币之外,还有更多有趣的应用程序可以带来许多激动人心的软件生态系统。这也适用于Hyperledger项目,该项目提供了一个非常模块化的区块链框架。让我们看看使用Hyperledger Fabric和Composer实现区块链应用程序是多么容易。
笔阁
2019/05/23
2.3K0
使用Hyperledger Fabric和Composer实现区块链应用程序
构建一个应用程序来展示区块链是如何工作的
让我们通过构建一个应用程序来展示区块链是如何工作的。根据维基百科的描述,区块链是:一种分布式数据库,用于维护不断增长的记录列表,称为块。这听起来似乎不错,但它到底是如何工作的?
笔阁
2019/06/19
1.5K0
构建一个应用程序来展示区块链是如何工作的
eos钱包开发教程 原
区块链钱包是什么?很多人会把它理解为微信支付宝钱包等,然而区块链钱包里没有数字货币,数字货币存储在区块链上,钱包作为公私钥的管理工具,用户通过钱包与区块链平台上的DApp 进行交互。
笔阁
2019/03/15
1.3K0
eos钱包开发教程
                                                                            原
主流比特币客户端的开发选型对比
bitcoin客户端是接入比特币网络的必备软件,也是开发者构建基于比特币区块链的去中心化应用的基础平台。本文将介绍主流的五种bitcoin客户端软件,开发者可以根据自己的需求进行选择。
用户1408045
2019/10/12
2.9K0
主流比特币客户端的开发选型对比
Electrum比特币钱包的Python代码分析
如果你仍然未对Python语言的强大功能感到惊讶,那么在这部分我们将学习如何在python中开发比特币地址或钱包。我只是想说与你的计算机通信是多么容易,如果你通过python和Linux操作系统,可以用它做多少有趣的项目。
笔阁
2018/12/12
1.8K0
如何使用Meteor开发以太坊Dapp 原
本教程将向你展示如何设置Meteor应用程序以用作Ðapp,并可能回答几个关于为什么应该使用Meteor的问题。
笔阁
2018/12/21
1.8K0
比特币UTXO模型介绍 原
如果你曾上过BlockExplorer观察自己的比特币收入状况,你是否曾经被搞的一头雾水呢?这正是因为比特币所使用的交易模型并非我们直觉上以账户为基础的,而是一种叫做UTXO的模型 。在我的前一篇文章:《深入了解NEX:Neon Exchange》中,也提到了比特币所使用UTXO模型与乙太坊使用的账户模型在功能上的一些差异,但究竟这两个模型到底差在哪儿?
笔阁
2018/12/04
2.3K0
比特币UTXO模型介绍
                                                                            原
QuikNode -Infura高配版
随着Web3的演化,开发者已经开始在以太坊区块链上快速开发去中心化应用。虽然 在以太坊上开发dApp很酷,但是要搭建自己的以太坊节点还是挺令人头疼的一件事, 这需要不短的时间,而且还需要一些技巧。QuikNode 通过提供高性能的以太坊节点服务解决了这一问题,正如其官网所说,这是运行专用以太坊节点的最快、最简单的 方法。
用户1408045
2019/05/23
2.3K0
QuikNode -Infura高配版
推荐阅读
相关推荐
交易所撮合引擎原理及实现代码
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档