腾讯云Serverless项目
Demo2 :https://gitee.com/alfredhuang211/sls-day/blob/master/photo-album/README.md
项目为 Serverless 相册
上传照片可以智能识别,添加属性标签。
因为项目的README,写的比较简洁。下面进行补充说明哈
推荐在使用或者下载的时候,先将node更新为最新版本,并且安装severless组件。
我是用的是windows 系统,所以更新方法是:去官网,下载最新的node版本进行的安装。
node js 中文官网地址 http://nodejs.cn/
安装serverless组件方法,腾讯云提供了安装使用的说明文档。附上链接https://cloud.tencent.com/document/product/1154/42990
我这面采用的是npm安装的方式
npm install -g serverless
到此位置 准备工作到此结束。
下载源代码
下载源代码 有两种方式 这面我建议使用git clone的方式进行下载。
原因是如果刚刚安装好,serverless 他其实连接的是AWS的服务器 并不是腾讯云的。
如果使用 sls init photo-album 可能出现找不到组件和不识别命令的情况。
git clone https://github.com/serverless-plus/photo-album.git
注:如果没有安装git 可以自行百度一下哈
加载依赖
windows 系统 如果直接使用
$ npm install && cd client && npm install
可能会提示 不识别 && 的情况,如果出现了这个现象,可以分开进行执行。
npm install
cd client
npm install
在安装依赖的时候,可能会出现一些类似于下发的错误内容
Unexpected end of JSON input while parsing near
可以尝试使用下方命令进行解决.
npm cache clean --force
执行启动命令
第一个命令为启动docker 服务
npm run docker:up
简单说明下,为什么要启动docker,这面为了方便的启动本地数据库依赖以及另一个镜像这面还没有仔细看其功能哈 ,具体docker 信息如下
version: '3.1'
services:
db:
image: mysql
restart: always
ports:
- 3306:3306
environment:
MYSQL_DATABASE: photo-album
MYSQL_ROOT_PASSWORD: root
adminer:
image: adminer
restart: always
ports:
- 8080:8080
注:如果没有安装好docker的可以自行到官网下载安装文件进行安装。
启动docker的时候,需要注意本地不要占用3306端口和8080端口,如果占用了需要通过taskkill命令关闭后,在重新执行 npm run docker:up 命令。
ReadMe中有一段话,可能让初学者一头雾水。
复制 .env.example 为 .env,然后配置成个人账号,主要需要配置(TENCENT_APP_ID、TENCENT_SECRET_ID、TENCENT_SECRET_KEY):
前面将.env.example 改为.env 的目的是 .env 是serverless的配置文件。
账号的个人信息如果获取 可以参考下这个连接:https://cloud.tencent.com/document/product/1154/43006
下面这句话非常重要 我被困扰了 好一会儿:
由于 Serverless Framework 在部署时会默认检测是否为中国用户,如果开发环境在中国境外,但希望使用中国版体验的 Serverless Framework,可以在 .env 文件中增加配置 SERVERLESS_PLATFORM_VENDOR=tencent 即可指定默认提供中国版体验。
所以在配置好开发信息之后,需要在.env 文件中添加上
SERVERLESS_PLATFORM_VENDOR=tencent
注:serverless的中国官网:https://www.serverless.com/cn/
如果完成了上述的操作:执行下面两个操作 应该不会报错啦!~
npm run dev:server
npm run dev:client
部署应用
直接复制Readme中的命令依次执行就可以了。
如何找到自己的服务地址呢?
打开这个连接https://serverless.cloud.tencent.com/apps/photo-album/photo-album-client/dev
在右半部分找到website 就可以了。