【玩转腾讯云】(负基础的超详细图文教程)云开发竟然可以直接开发网站应用

news/2024/5/20 15:47:56/文章来源:https://hanxu.blog.csdn.net/article/details/105296992

震惊了,年轻人的第一次云开发体验,竟然不用服务器就能部署自己的网站项目。

偶然看到了腾讯云公众号发布的这篇推文

0元免服务器,开发个人专属网盘 | 云开发WEB最佳实践

速读摘要

是在我们自己的设备上,使用社交软件传输文件还会面临着存储大小的限制,我们不得不又依赖存储介质才能完成传输。存文件时可以选择添加存储密码,也可以勾选取后即删。页面加载时执行匿名登录方法,登录成功后,就可以使用web-sdk包来做更多与云开发后端服务交互的事情了。我们在web页面中选择文件,设定了密码和删除逻辑后,就需要调用云开发的文件上传API来将文件上传。下载文件时,由于使用了腾讯云验证码,需要获取用户的IP地址。

原文约 2520 字 | 图片 16 张 | 建议阅读 6 分钟


小程序云开发

之前对小程序云开发略有一些了解,见识过云开发小程序的方便与快捷,使用了云开发,再写小程序后端数据存储就可以直接使用官方提供的云数据库,图片文件的存储也可以直接上来就用云存储,甚至呢,后台逻辑处理 都可以使用自己编写的云函数 和官方提供的云函数进行处理,简直是前端开发者的福音,作为一个之前一直在尝试学习后台开发的我,直接被震惊到了。

虽然说小程序云开发很是方便,但是我们日常生活中web网页的访问也是避免不了,既然小程序云开发对于数据和后台逻辑的处理这么方便和简洁,那么为什么web开发不能也使用云开发呢?但是由于微信生态的限制还是什么情况不得而知,云开发还只能活在小程序里面,虽然我对网站应用开发很感兴趣,但是云开发还是没能够支持网站应用的开发。

当我无意之间看到了 0元免服务器,开发个人专属网盘 | 云开发WEB最佳实践 这篇推文,惊奇的发现,云开发竟然已经支持了网站应用的开发,并且官方 开放了这个 开源的项目 https://f.dnuise.cn,我就迫不及待的 体验了一番 自己搭建。

项目链接

项目体验 地址 https://f.dnuise.cn

腾讯云官方的 Github 样例 仓库https://github.com/TencentCloudBase/Cloudbase-Examples

FILE-S跨平台文件转储工具 的项目 在 web 下的 files下面

 

1620uploading.4e448015.gif转存失败重新上传取消

项目位置

看我把项目跑起来

第一步 ,作为一个小白 我就把项目下载到本地再琢磨琢磨他怎么设置的。

1620uploading.4e448015.gif转存失败重新上传取消

项目下载

当然 github大家用起来肯定卡卡的,不方便 我就打包了这个项目代码

可以从这里下载 没有乱七八糟的 只有这个项目哦 148k 不能再小了

度盘 指路

链接:https://pan.baidu.com/s/1GJjlz5bsWnMxvNWg7YENOg

提取码:qbap

腾云微云 指路

https://share.weiyun.com/5XJsD2p

第二步 ,我来看看这个项目有啥

官方给的应该很简洁了,只有两个文件夹 一个readme的Markdown(.md)文件 ,二话不说 打开 readme看看作者说了点啥。

如果你打不开的话。。。。就看我的图片吧。。( 搜一下 typora 这个软件把他下载了装上吧,mac win 和linux都有 贼好用 没有打广告 )

1620uploading.4e448015.gif转存失败重新上传取消

文件分布

用过github的应该都知道这个readme就是项目界面的介绍

乱七八糟一大堆(其实没多少内容)咱们直接看怎么部署吧。

1620uploading.4e448015.gif转存失败重新上传取消

github项目截图

第三步 部署项目

拿到了开源项目不管他写啥样 ,咱先跑起来看看,

官方给的 环境部署 没有图文 有点想哭,那我就贴上我的截图吧 hh

一、创建云开发环境

  • 访问腾讯云云开发控制台,新建【按量计费云开发环境】,记住云开发环境ID。

你先给我点个赞吧,当你点完赞,肯定注册了腾讯云 我就不用再讲怎么注册腾讯云了 (我真是太机灵了)

 

1620uploading.4e448015.gif转存失败重新上传取消

点击上面蓝色链接进入这个网页 选择新建环境就好

1620uploading.4e448015.gif转存失败重新上传取消

创建一个环境就好

  • 进入静态网站控制页,开通静态网站托管服务

创建完成了就可以点击进入了后台详细的管理界面。

1620uploading.4e448015.gif转存失败重新上传取消

点这里进去

静态网站控制页就是这个网站托管

1620uploading.4e448015.gif转存失败重新上传取消

静态网站控制页就是这个网站托管

进去开通就好。

离成功又接近了一步。(如果你当时选的不是按量付费这里可是开通不了的哦!!)

  • 进入数据库控制页,添加3个集合;集合名字分别为dustbin、file、manage

接下来我们添加集合就好

 

1620uploading.4e448015.gif转存失败重新上传取消

数据库控制页

1620uploading.4e448015.gif转存失败重新上传取消

添加集合

dustbin、file、manage

新建这三个就行

  • 进入用户管理控制页-登录设置的登录方式中,勾选匿名登录

不是点击用户管理哦,别点错了(我就傻傻地找错了)

在环境的环境设置 登录方式 开启 匿名登录

 

1620uploading.4e448015.gif转存失败重新上传取消

开启匿名登录

终于第一步 创建开发云环境我们就整完了。

二、导入初始化数据

  • 找到项目目录下cloudfunctions/asset/manage-database.json文件,此为数据库集合manage的初始数据结构

我们要上传的文件就是这个文件

 

1620uploading.4e448015.gif转存失败重新上传取消

cloudfunctions/asset/manage-database.json

  • 进入环境控制台的【数据库】,点击进入manage集合,导入manage-database.json文件

咱们找到数据库的manage

1620uploading.4e448015.gif转存失败重新上传取消

manage

从这里导入cloudfunctions/asset/manage-database.json 在这个文件就ok啦

1620uploading.4e448015.gif转存失败重新上传取消

文件导入

导入后的效果应该就是这样子的

1620uploading.4e448015.gif转存失败重新上传取消

导入后效果

第二步也完成了,咱们很快就进入第三步。

三、配置项目

  • 用代码工具打开项目目录,将以下文件中标注有【云开发环境ID】处替换成自己的云开发环境ID -- cloudfunctions/cloudbaserc.js 第2行 -- webviews/js/index.js 第1行

我就用的vscode(特别好用快去下载)

 

1620uploading.4e448015.gif转存失败重新上传取消

这样就能直接打开整个项目

我们要修改的就是 envId 哦(就是environment 的ID)

1620uploading.4e448015.gif转存失败重新上传取消

修改envId

然后ctrl + s保存

当然你可能并不清楚 环境ID是那个,我来帮你找一下

回到刚才的控制台 在环境 的环境设置 里面的环境配置

 

1620uploading.4e448015.gif转存失败重新上传取消

环境ID在这里哦

提醒像我这样的小白 注意单引号不要丢啊。

1620uploading.4e448015.gif转存失败重新上传取消

单引号不要丢

  • 前往腾讯验证码官网创建验证码应用,获得aid和AppSecretKey;并打开cloudfunctions/functions/getFile/index.js,在第3行TCaptchaID中填充自己项目的aid和AppSecretKey;另外在webviews/index.html大约119行,id为TencentCaptcha的button元素,将属性data-appid填写为【应用验证码aid】。

网址其实在这里 官方那个已经换了https://console.cloud.tencent.com/captcha

先把白嫖的礼包先领了,然后新建验证

1620uploading.4e448015.gif转存失败重新上传取消

创建验证

1620uploading.4e448015.gif转存失败重新上传取消

新建验证

我们只需要验证所属域名就好,另外两个选项随便选择,

可能像我这样的小白又会问了,所属域名是什么?

没有域名也不要着急,官方腾讯云其实有个内侧使用的域名

我们还回到 云开发控制台 还是环境下的环境设置,这次选择安全配置,就能找到自己云开发服务的域名,复制这个域名就可以。

1620uploading.4e448015.gif转存失败重新上传取消

域名

1620uploading.4e448015.gif转存失败重新上传取消

查看详情

1620uploading.4e448015.gif转存失败重新上传取消

基础配置找到appid和key

点开基础配置 就找到了我们需要的 appid和key

然后按照在这个位置cloudfunctions/functions/getFile/index.js找到 第三行 填入信息。

1620uploading.4e448015.gif转存失败重新上传取消

在这里填上数据

还有这里也要写 webviews/index.html大约119行

1620uploading.4e448015.gif转存失败重新上传取消

  • 前往静态网站控制台-设置,复制域名信息下的默认域名;粘贴至cloudfunctions/functions/getFile/index.js第9行AllowOriginList数组中第1项。

回到云开发控制台 拿到域名

1620uploading.4e448015.gif转存失败重新上传取消

获取域名

然后在这里填写域名就好

1620uploading.4e448015.gif转存失败重新上传取消

填写域名

终于第三步我们也完成了。

四、NPM依赖配置安装

  • 确定本机已经安装了nodejs和npm,如果没有安装请自行下载安装

首先,从Node.js官网下载对应平台的安装程序,网速慢的童鞋请移步国内镜像。

在Windows上安装时务必选择全部组件,包括勾选Add to Path

安装完成后,在Windows环境下,请打开命令提示符,然后输入node -v,如果安装正常,你应该看到v7.6.0这样的输出:

C:\Users\IEUser>node -v
v7.6.0

推荐安装上中国国内特色的cnpm

$ npm install -g cnpm --registry=https://registry.npm.taobao.org

 

  • 命令行进入cloudfunctions/functions下的每个文件目录,每个目录均执行一遍以下代码:
$ npm install

教大家不会用命令行的同学可以这样

 

1620uploading.4e448015.gif转存失败重新上传取消

找到文件位置

进入第一个文件夹

 

1620uploading.4e448015.gif转存失败重新上传取消

修改为cmd回车 运行处命令提示符

1620uploading.4e448015.gif转存失败重新上传取消

cmd

输入npm install 或者 cnpm install(推荐)

这样即为安装成功

1620uploading.4e448015.gif转存失败重新上传取消

npm install

重复每个文件夹一次 共五次

1620uploading.4e448015.gif转存失败重新上传取消

五个云函数文件夹

终于这一步就完成了 我们可以进入下一步

五、上传并部署云函数

官方默认安装了 CLI工具 ,所以我插播一下安装这个工具。

https://cloud.tencent.com/document/product/876/41392

还是cmd

切到项目根目录

然后cmd

1620uploading.4e448015.gif转存失败重新上传取消

cmd

npm i -g @cloudbase/cli        

运行这段代码即可安装 推荐cnpm

cnpm i -g @cloudbase/cli        

 

安装成功后 需要咱们登录

输入

tcb login

即可

 

1620uploading.4e448015.gif转存失败重新上传取消

login

如果没有登录会弹出网页让大家扫码登录,登录成功就无需登录

 

 

1620uploading.4e448015.gif转存失败重新上传取消

在这个界面下进入cmd

然后找到自己的 envID

 

1620uploading.4e448015.gif转存失败重新上传取消

  • 使用CloudBase CLI工具登录后,进入cloudfunctions/目录,依次执行以下代码: 注意:envID 替换成自己的云开发环境ID
cloudbase functions:deploy -e envID delete
cloudbase functions:deploy -e envID downFile
cloudbase functions:deploy -e envID getFile
cloudbase functions:deploy -e envID myfile
cloudbase functions:deploy -e envID upload
cloudbase service:create -e envID -p getFile -f getFile
cloudbase functions:trigger:create -e envID delete
上面最后两行是为 getFile云函数创建HTTP服务 和 为delete创建触发器

 

在cmd里面输入这些代码 记得替换 envID

 

1620uploading.4e448015.gif转存失败重新上传取消

delete我上传过所以会失败在正常是像其他几个函数一样上传成功

1620uploading.4e448015.gif转存失败重新上传取消

正常部署云函数

如果有问题的话可以一行一行的进行

上面最后两行是为 getFile云函数创建HTTP服务 和 为delete创建触发器

终于我们来到了最后一步

六、部署静态网站服务

  • 使用CloudBase CLI工具登录后,进入根目录,依次执行以下代码: 注意:envID 替换成自己的云开发环境ID
  • 在根目录就是这里进入cmd

1620uploading.4e448015.gif转存失败重新上传取消

cmd

输入以下代码

 cloudbase hosting:deploy -e envID webviews

到这里,整个项目就部署完毕,你可以访问静态网站服务默认域名访问使用了。如果你要对外使用,需要将域名换成自己已经备案的域名。

 

1620uploading.4e448015.gif转存失败重新上传取消

终于上传完了

官方后面的教程 其实作为初学者可以不去考虑了

我们可以访问自己的域名查看效果了

 

1620uploading.4e448015.gif转存失败重新上传取消

后续教程

 

自定义域名

云开发提供了完备的web端资源服务,但是一个对外公开使用的web项目需要有自己的备案域名,需要受到监管。所以,在正式对外推出之前,需要将云开发提供的默认域名替换成自己已经备案的域名

  • 前往静态网站控制台-设置,在【域名信息】下点击添加域名按钮,填写已经备案的域名。域名需要配有SSL证书,腾讯云下域名会自动监测证书;如果是非腾讯云旗下域名,则需要上传SSL证书。
  • 需要等待域名添加状态为【已启动】后,才可以去域名解析中配置CNAME。
  • 前往用户管理控制台-登录设置,在WEB安全域名中删除云开发的默认域名,只保留自定义域名。
  • cloudfunctions/functions/getFile/index.js第9行AllowOriginList数组中,将默认域名更换成自定义域名,保存;使用CloudBase CLI到cloudfunctions目录下,执行下面代码更新: 注意:envID 替换成自己的云开发环境ID
$ cloudbase functions:code:update -e envID getFile

其他说明

  • 为了全面展示腾讯云云开发的各项能力,有些地方代码不自然,可以根据自己的技术水准做升级
  • util-min.js是作者自己封装的JS方法库的一小部分,用于做原生JS应用的快速开发,目前无法做到开源水平,小打小闹。
  • 此项目为云开发原生JS-Demo,所以任何框架和库都没用,会计划对各大框架做云开发Demo,也欢迎各位大神前来贡献。
  • 如果对于此项目有任何疑惑可以在Github项目下new issues

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

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

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

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

相关文章

神器docsify 用MarkDown 来写自己的网站

搭建个人网站 动态博客 之前尝试过搭建自己的博客,有知名的 PHP 动态博客 WordPress 托管到我自己的服务器上,后面又自己开发了一款 SpringBoot 和 VUE 的前后端分离博客,这个用来学习还是不错的,但是终归需要一个服务器来跑这个…

《大型网站技术架构:核心原理与案例分析》读书笔记

《大型网站技术架构:核心原理与案例分析》 《大型网站技术架构:核心原理与案例分析》读书笔记《大型网站技术架构:核心原理与案例分析》感受1.前端架构2.应用层架构开发框架页面渲染负载均衡Session管理动态页面静态化…

VS2015 还是VS2017 好用_设计师必备的CAD网站,好用得不行,实在太逆天了

相信大家都会使用到到非常多的CAD学习网站,但是下面这几个,你见过吗?接下来就和小编一起看看吧!1.我要自学网第一个是我们的CAD自学网啦,通过这个网站,我们可以学习到非常多的CAD学习教程哦 ,小…

html网页上传到服务器_利用腾讯云轻量服务器+宝塔快速搭建负载均衡网站,让你的网站速度更快,同时在线人数更多...

为什么网站需要负载均衡网站作为一个开放性的事物,在流量大了之后,单一一台服务器往往无法承受住海量的用户,从而导致站点卡顿,或者服务掉线等情况。而负载均衡能够有效的解决这一问题。通过一台主服务器和N个副服务器可以将网站的…

你下载的内容中包含违规信息_长安区互联网信息办公室落实网络信息内容生态治理规定依法约谈处置属地违规网站...

为进一步规范互联网信息传播秩序,长安区互联网信息办公室依照属地管理原则加大违法违规网站核查处置力度,4月18日,根据《网络信息内容生态治理规定》相关规定,依法约谈存在“色情软件下载链接”违规网站备案单位负责人。 固定布局…

mib browser 怎么获取目标cpu_百度快排探究(一),Python selenium 实现自然搜索访问目标网站...

快排是现在比较火热的seo手段,快排即快速排名,相比传统的优化手段,尤其是企业站而言,快排能够快速占据排名,获取流量及客户,也是最热门的韭菜项目,可谓酸爽至极。快排有没有用,据观察…

围巾网站css模板,用纯css3和HTML5写出戴花围巾吃柠檬味棒棒糖的企鹅

用纯css3圆角边框和HTML5写出戴花围巾吃柠檬味棒棒糖的企鹅,插入一些小动画,更加活灵活现,好萌。css样式html,body,div,strong{margin: 0;padding: 0;}.all{width: 1000px;height: 1000px;}.all1{width: 800px;height: 600px;margin:0 auto;p…

服务器和网站域名,网站服务器和域名的区别

网站服务器和域名的区别 内容精选换一换华为云漏洞扫描服务帮助中心,为用户提供产品简介、用户指南、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用漏洞扫描服务。目前,华为云SSL证书管理服务提供了OV(企业版)、OV Pro(企业型专…

IE打开网站大部分都没背景的问题

早上接到保修,说IE打开某某供货平台后页面为空白,什么都不显示,过去看了,发现有鼠标可以找到输入框,输入用户名和密码后可以登录平台,登录进去可以看到文字,但背景全是白色的,试了其…

html标签命令与大小写有关吗,做SEO时,需要了解哪些HTML标签 ?

HTML标签是什么HTML,全称Hypertext Markup Language,也就是“超文本链接标示语言”。HTML文本是由 HTML命令组成的描述性文本,HTML 命令可以说明文字、 图形、动画、声音、表格、链接等, 即平常上网所看到的的网页。设计 HTML 语言…

windows2003 构建SSL网站

实验之前,说说公钥基础结构(PKI),它是使用公钥技术和数字证书来确保系统信息安全并负责验证数字证书持有者的身份的一种体系PKI由4部分构成,公钥加密技术、数字证书、CA(证书颁发机构)、RA&…

服务器系统保留分区,win10体系保存分区有什么用?_网站服务器运转保护

win10体系保留分区的作用:保留分区用于寄存启动文件以及预留给BitLocker驱动器加密,这不仅节省了设置BitLocker驱动器的时刻,同时减少了用户今后要测试的时刻。还能够:隐蔽分区的状况,隐蔽分区中的内容,增加…

html h1h2怎么缩短距离,H1、H2标签怎么使用才能有利于SEO优化?

做seo优化工作难免碰到奇葩的网站,H1、H2标签到处乱用,面对这个我们就要去有效的优化H1、H2标签,小编为大家介绍一下H1、H2标签怎么使用才能有利于SEO优化?通常,一个页面只能有一个H1,且首页的H1一般是网站的主关键词…

分享8个帮助你学习快速编程的实用网站

日期:2012/02/20 来源:GBin1.com 作为一个合格的前端开发人员,我们不得不学习很多最新的技术和实现,不论是html5,CSS,CSS3, javascript,还是后台的最新数据库技术nosql。如果你不能…

分享一个帮助你检测网站颜色对比度的在线web工具 - checkmycolours

为什么80%的码农都做不了架构师?>>> 日期:2012-6-18 来源:GBin1.com web或者网站设计中很重要的一点在于如何有效的使用颜色搭配,可能大家都有过痛苦的上网浏览体验,因为很多网站都没有很好的处理颜色对比…

由12306.cn引发的网站性能技术思考

2019独角兽企业重金招聘Python工程师标准>>> 12306.cn网站挂了,被全国人民骂了。我这两天也在思考这个事,我想以这个事来粗略地和大家讨论一下网站性能的问题。因为仓促,而且完全基于本人有限的经验和了解。只讨论性能问题&#x…

网站制作工具简介_洛阳新闻网站建设工具,沈闻网站建设制作

成都御天程为您详细解读KUywim洛阳新闻网站建设工具的相关知识与详情,企业网站建立是为了更好的正在互联网时代开展,不管是自助/模板建站,还是个性化需求定造建站,也都需要考虑适应时代的开展。网站总是为企业效劳的,换…

帮助你更快的进行网站设计 - Markup Framework

为什么80%的码农都做不了架构师?>>> 日期:2013-4-30 来源:GBin1.com Markup是一套布局,小组件,UI组件和字体排版样式的框架,可以帮助你快速的执行web相关的设计和开发,相信没有人…

推荐几个细胞注释网站

细胞注释是单细胞分析中很关键的环节,初期会比较痛苦,做多了才会悟出一些规律。 我公众号早期写过几篇细胞注释相关的帖子: 单细胞分析实录(7): 差异表达分析/细胞类型注释SingleR如何使用自定义的参考集除了写代码,我其实也用过三…

博客网站项目的开发

一、网站开发的过程: 1 需求分析:主要进行目标的定位:了解网站的主要职能以及网站的用户对象; 2 平台规划2.1 内容规划:主要弄清楚该网站的主要职能以及所包括的模块 2.2 界面规划:该部分主要进行…