专栏首页云开发新能力 | 云开发CLI工具快速入门
原创

新能力 | 云开发CLI工具快速入门

云开发 CLI 是一个开源的基于 Node 编写的命令行工具,用于帮助用户快速、方便的部署基于云开发的项目、管理云开发资源。

云开发 CLI 支持环境配置、云函数管理、文件管理、静态网站管理、云接入管理等多种能力,共计 50+ 的命令。云开发 CLI 可以帮助你快速的创建、更新、测试云函数,“一键” 部署静态网站等,能有效加速你的开发效率。

云开发支持下面的各种能力:

  1. 项目模板:为了降低用户使用 CloudBase CLI 进行项目开发的门槛,CloudBase CLI 提供了初始化命令帮助用户初始化云开发项目。CloudBase CLI 会获取最新的模板列表,用户可以选择下载模板项目到本地,快速开始云开发项目的开发。
  2. 配置文件:CloudBase CLI 使用配置文件简化操作命名操作,当使用命令参数缺省时,CloudBase CLI 会从配置文件中解析相关参数并使用,方便开发者以更简单的方式使用 CloudBase CLI。
  3. 环境操作:支持展示环境信息、修改 Web 安全域名、登录方式配置等。
  4. 云函数:支持部署、更新云函数,修改云函数配置,配置云接入,删除云函数,本地调用云函数,查看调用日志等。
  5. 文件存储:支持上传、下载、删除文件/文件夹等操作。
  6. 静态网站:支持一个命令部署网站,也支持上传、下载、删除文件/文件夹等操作。

下面将以部署一个 React SPA Web 应用为例,综合应用云开发的自定义登录、云函数、数据库等功能,展示云开发 CLI 的工程能力。

Demo 体验链接:云开发 Web 端实例[1] https://demo.coda.ink/

操作步骤

1、准备

2、初始化项目

3、获取配置

4、运行项目

5、部署

准备

  1. 腾讯云控制台[2]开通云开发,创建按量计费的环境。我们需要用到云开发静态托管服务,目前只有按量计费的环境才支持静态托管。
  1. 参考云开发文档[3],开通静态托管
  2. 安装云开发 CLI
npm install -g @cloudbase/cli
  1. 登录
tcb login

初始化项目

CLI 提供了初始化命令帮助用户初始化云开发项目,运行 tcb init 命令,选择下载 Node - React Web 示例模板

项目结构下面是 React Web 示例的目录结构, functions 目录存放了项目中需要使用的云函数,cloudbaserc.js为云开发项目的配置文件,包含了环境 Id、云函数配置等。

获取配置

你需要到云开发控制台 https://console.cloud.tencent.com/tcb 获取以下配置内容

环境 Id - envId环境 Id 是每个云开发环境的唯一标志,可以在概览页面获取

生成自定义登录秘钥在这个例子中,我们要使用自定义登录功能,实现 Web 端登录,所以需要先下载自定义登录秘钥

获取文件存储的基本路径我们可以使用 tcb storage:upload 命令把 public 文件夹中的 icon.png 上传到云存储中,并通过 tcb storage:url获取文件的访问链接,如下图所示

运行项目

这已经是一个完整的 Web 项目,在开始使用 CLI 工具部署此项目前,你需要把项目中 envId 等配置替换成你在上面获取的配置。

配置首先需要把 src/config/index.ts 中的 storageBaseUrl 换成 icon.png 链接的基础地址,如:https://xxxx.tcb.qcloud.la,链接不包含 icon.png,然后,把 functions/custom-login/config 中的 key 和 keyId 设置为你获取到到自定义登录秘钥中的 private_keyprivate_key_id

部署云函数与创建数据库集合这里我们借助云函数的能力来实现自定义登录,在项目根目录运行下面的命令来部署云函数

tcb functions:deploy custom-login

下面,为了方便的调用云函数,我们可以使用云函数的 HTTP 触发功能,在函数配置中,设置 HTTP 触发路径,点击保存,即可通过 HTTP 链接触发云函数

同理,运行下面的命令,部署 base64 函数

tcb functions:deploy base64

在控制台,添加 demo_web 集合

安装依赖与运行

最后,安装依赖

yarn

运行

yarn run dev

访问 localhost:3000,你可以看到下面的页面

在使用云开发的服务前,需要先进行登录,在输入框中输入一个用户名,点击登录按钮,你可以看到登录成功的提示。接下来你就可以点击云函数或数据库菜单,体验基于云开发能力打造的示例。

部署

在本地开发完成后,我们可以使用云开发的静态托管服务部署我们的网站。静态托管服务为开发者提供静态网页托管的能力,需要在使用时单独开通,进入静态托管选项,点击开始使用,即可进入开通流程,稍等几分钟即可开通完成。

在等待的时间里,我们先构建网站 Demo,运行 yarn run build 打包云开发 Web Demo,我们可以看到到了一个 build 目录,即为输出结果。

在静态网站开通完成后,我们可以直接使用 CLI 部署网站,运行

# 部署 build 目录中所有的文件
tcb hosting:deploy build

命令执行完成后,进入静态托管选项,可以看到 build 目录中的文件已经上传完成 !

进入设置选项,我们可以点击默认域名链接,访问部署完成的页面。需要注意的是,默认域名仅供测试使用,限制访问速度 10KB/S,所以展示速度会比较慢,需要耐心等待。这里建议绑定自己的备案域名,加快访问速度。

小结

云开发 CLI 支持丰富的资源管理能力,简化了云函数部署、静态网站部署、文件管理等操作流程,围绕项目工程化,能有效加速你的项目迭代开发。

最后,欢迎大家使用云开发[4]

学习资料:

云开发社区官网:www.cloudbase.net

快速安装云开发 CLI:https://docs.cloudbase.net/quick-start/install-cli.html

参考资料

[1]云开发 Web 端实例: https://demo.coda.ink/

[2]腾讯云控制台: https://console.cloud.tencent.com/tcb

[3]云开发文档: https://cloud.tencent.com/document/product/876/40270

[4]云开发: https://www.cloudbase.net/

云开发(CloudBase)是一款云端一体化的产品方案 ,采用 serverless 架构,免环境搭建等运维事务 ,支持一云多端,助力快速构建小程序、Web应用、移动应用。

技术文档:https://www.cloudbase.net/

微信搜索:腾讯云云开发,获取项目最新进展

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 这个爸爸,专门做了款小程序,助娃通关剑桥PET

    米又背单词系统,其实是为了我孩子背单词所用的。小朋友备考剑桥PET英语考试,但当时没有专门针对这个考试的背单词软件,用APP又麻烦,微信小程序是一种轻量级的应用...

    腾讯云开发TCB
  • 如何在云开发部署React项目

    React是目前比较火的前端框架之一,除了可以在自有服务器、Github Pages 部署以外,现在你有了一个新的选择,那就是使用云开发静态网站功能来进行部署。

    腾讯云开发TCB
  • 云开发0基础训练营第二期热力来袭!

    腾讯云开发TCB
  • 5分钟学会javascript闭包(一)

    先来定义,能读取其它函数内部变量的函数,它可以将函数内部和外部连接起来。 javascript有二种变量的作用域, 一是全局变量,二是局部变量 根据javasc...

    web前端教室
  • 巧用R中的各种排名窗口函数

    在sql中巧用窗口函数可以解决很多复杂的问题,窗口函数有4种函数类型:排名函数、偏移函数、聚合函数和分布函数,详细介绍可以浏览:

    1480
  • JavaScript之闭包问题以及立即执行函数

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/articl...

    大黄大黄大黄
  • 狄利克雷卷积

    (留坑) 数论函数 陪域:包含值域的任意集合 数论函数:定义域为正整数,陪域为复数的函数 积性函数:对于函数f(n),若存在任意互质的数a,b,使得 ,那么函...

    attack
  • day72-Django进阶-Django自带的用户登录校验

    少年包青菜
  • Python-map、reduce、fi

    map函数接受两个参数,一个是函数,一个是Iterable(迭代对象),map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。

    py3study
  • 科学家提出更加灵活的机器学习方法

    据2015年10月美国麻省理工学院新闻,该校科学家将在2015年12月的神经信息处理系统年会上提出一种更加灵活的机器学习方法,该方法能够加强语义相关概念之间的联...

    人工智能快报

扫码关注云+社区

领取腾讯云代金券